LoginSignup
6

More than 5 years have passed since last update.

VideoPlayerにスクリプトで音をつけたい

Last updated at Posted at 2017-06-23

VideoPlayerで動画再生の続き

http://justcode.me/unity2d/how-to-play-videos-on-unity-using-new-videoplayer/←こちらとかを参考に

スクリプト

最低限スクリプトで必要なところだけ(基本は前回記事参考)

Video&Audio
VideoPlayer videoPlayer;
AudioSource audioSource;
VideoClip videoClip;
videoPlayer = camera.AddComponent<VideoPlayer>();
//動画読み込み
videoClip = Resources.Load(__path) as VideoClip;
audioSource = gameObject.AddComponent<AudioSource>();

//下の2つは念のための程度の設定です
//AudioのOutputModeを選択
vp.audioOutputMode = VideoAudioOutputMode.AudioSource;
//audioTrack[0]を有効に
videoPlayer.EnableAudioTrack(0,true);

//audioSourceにaudioTrack[0]を設定??
videoPlayer.SetTargetAudioSource(0,audioSource);
//コレが最後に来るのが大事(直感)
videoPlayer.clip = videoClip;

//再生
videoPlayer.Play();

疑問

動画には音声ファイルがトラックとして含まれていて、そのトラックをaudioSourceに代入し、あとでaudioSourceを同時再生するのかなと思っていました。

事実ソース元(上記リンクと同じ)ではaudioSource.Play()を動画の再生と同時に行っていたのですが、実際にはその部分がなくても再生可能でした。

可能性として考えているのは、クリップを入れる前にVideoPlayer.SetTargetAudioSOurce(0,audioSource)などで動画のセッティングをし音声を受け容れる態勢を整えなければいけないということです。この場合audioSourceの何のために感がすごいですが。

とりあえず

音 出 る

下の二行の順番は大事そうです。

videoPlayer.SetTargetAudioSource(0,audioSource);
videoPlayer.clip = videoClip;

具体的根本的に解決するために精進します。

HoloLens開発記事一覧

こちらから

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6