unityにて、videoplayer(ムービー)とaudiosauce(音声)を同時に一時停止させたい。
解決したいこと
unityにて、videoplayer(ムービー)とaudiosauce(音声)を同時に一時停止させたいのですが、やり方分かる方いましたらご教授お願い致します。
今月発売予定のゲームでムービーを繋いでいくような作品なのですが、下のがネットで見つけたコードなのですがムービーを再生中に一時停止が出来て、ムービーが終わったら次のシーンに飛ぶというものなのですが、ここにムービーと同時にBGMも止まるように設定したいのですが分かる方がいましたら教えてください。
ムービーに音声が入っていた場合、どうやって音声をゲーム中に変えるのか調べましたが分からなかったので、音声とムービーを別々で流すことで音声をゲーム中にコントロールしたいのですが、音声とムービーを別々にすると下のコードのムービーが止まった時に音声は止まらないので困っております。
プログラミングは素人でゲーム開発はネットで見つけたコードをうまいこといじってどうにかしてきたのですが、今回のvideoplayerの記事がネットでほとんどなかった為、2日ほど試行錯誤しましたがうまくいきませんでした。
多分下のコードにaudiosauceがvideoplayerと同時に消えるように書き込めばうまくいくと思うのですが、分かる方いらっしゃいましたら解決法などご教授よろしくお願いします。
発売間近ですので解決しない場合は今回音声設定は無しで販売しようと思っております。
販売後でも解決しましたら導入出来ますので。
よろしくお願いします。
該当するソースコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Video;
public class videoStop : MonoBehaviour
{
[SerializeField] VideoPlayer videoPlayer;
[SerializeField] GameObject menu;
private int hoge ;
public int Hoge{ get { return hoge; }}
bool videoPause = false;
// Start is called before the first frame update
void Start()
{
videoPlayer.isLooping = true;
menu.SetActive(false);
Cursor.visible = false;
videoPlayer.loopPointReached += FinishPlayingVideo;
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
videoPause = !videoPause;
// メニューとカーソルの表示
menu.SetActive(videoPause);
Cursor.visible = videoPause;
// ビデオの停止
if (videoPause)
{
videoPlayer.Pause();
}
else
{
videoPlayer.Play();
}
}
}
public void FinishPlayingVideo(VideoPlayer vp)
{
videoPlayer.Stop();
SceneManager.LoadScene("ON4");
}
}
### 自分で試したこと
とりあえずこの部分にaudiosauceのプログラムを書いたり色々試しましたがうまくいきませんでした。
// ビデオの停止
if (videoPause)
{
videoPlayer.Pause(); AudioSource.Pause();
}
else
{
videoPlayer.Play(); AudioSource.Play();
}