uGUI 上で video player を使って動画を再生する
カテゴリ:unity
Unity 2017.1.1 の時点では UI 要素に video player をつけただけでは動画を再生できない.video player のテクスチャを Raw Image にコピーするコードが必要になる.
手順
- 適当なカンバスに Raw Image を作る
- その Raw Image に video player をつける
- video player の video clip に動画をセットする
- Audio Source を Raw Image のオブジェクトにつける
- 下記のスクリプトを Raw Image のオブジェクトにつける
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;
[RequireComponent(typeof(RawImage), typeof(VideoPlayer), typeof(AudioSource))]
public class VideoPlayerOnUGUI : MonoBehaviour {
RawImage image;
VideoPlayer player;
void Awake() {
image = GetComponent<RawImage>();
player = GetComponent<VideoPlayer>();
var source = GetComponent<AudioSource>();
player.EnableAudioTrack(0, true);
player.SetTargetAudioSource(0, source);
}
void Update() {
if (player.isPrepared) {
image.texture = player.texture;
}
}
}