Unity3D 动态加载视频,MovieTexture实现UI播放、VideoPlayer视频播放教程
本文由博主在完成Unity3D动态加载多个视频任务中,经过多次查阅网上资料整理总结后编写,如存在错误或不恰当之处请留言以便更正,内容仅供大家参考学习。
-
目标任务
通过按键盘的左右键实现不同的视频片段在相同的位置进行循环播放,同时包括暂停、停止。
-
方法1----MovieTexture实现UI播放
刚开始做的时候参考的是网站https://blog.csdn.net/dark00800/article/details/55002118,可以实现单独一个视频的播放,但是在通过左右按键切换的不同的视频播放的时候实现不了,无论怎么按都是只播放初始的一个视频。
注:额外添加动态给movie赋值的程序
curRightVidName = "videoRight (" + Random.Range(1, 9).ToString() + ")"; //获取本次运动想象的刺激视频的名称
video_GamePath = "videoPanel/rightVideo/" + curRightVidName; //获取本次运动想象的刺激视频的路径和名称
//movie = Resources.Load<MovieTexture>(video_GamePath); //该方法也可以
movie = (MovieTexture)Resources.Load(video_GamePath);
Imag_Right.texture = movie;
movie.loop = true;
movie.Play();
经过不断的查阅资料,找到参考案例https://jingyan.baidu.com/article/91f5db1b036cbc1c7e05e362.html,这里面的一点主要不同之处就是将上一篇中的public Image image;换成了public RawImage image;这样修改后能成功实现目标任务。
方法2----VideoPlayer实现UI播放
主要参考 https://jingyan.baidu.com/article/22fe7cedffc0cc3002617f9b.html,经过我个人实践发现这种方法会导致视频的播放清晰度会下降很多,导致视频播放效果不好。