Unity VideoPlayer教程之 视频播放暂停切换

 时间:2024-10-13 23:41:36

1、打开unity,新建一个空工程,的并导入俩视频文件,具体如下图

Unity VideoPlayer教程之 视频播放暂停切换
Unity VideoPlayer教程之 视频播放暂停切换

2、在场景中添加 RawImage 并全屏覆盖,然后添加三个按钮,分别为播放暂停、上一稍僚敉视个、下一个,合理布局,具体如下图

Unity VideoPlayer教程之 视频播放暂停切换

3、在 RawImage 上添加组件 VideoPlayer,并添加 Video1 视频,具体如下图

Unity VideoPlayer教程之 视频播放暂停切换

4、在工程中新建一个脚本VideoController,双击进行编辑,具体如下图

Unity VideoPlayer教程之 视频播放暂停切换

5、VideoController 脚本具体代码和代码说明如下图

Unity VideoPlayer教程之 视频播放暂停切换
Unity VideoPlayer教程之 视频播放暂停切换
Unity VideoPlayer教程之 视频播放暂停切换

6、VideoController 脚本具体内容如下:using UnityEng坡纠课柩ine;using UnityEngi荏鱿胫协ne.UI;using UnityEngine.Video;public class VideoController : MonoBehaviour { //设置VideoPlayer、RawImage和当前播放视频索引参数 private VideoPlayer videoPlayer; private RawImage rawImage; private int currentClipIndex; //设置相关文本和按钮参数以及视频列表 public Text text_PlayOrPause; public Button button_PlayOrPause; public Button button_Pre; public Button button_Next; public VideoClip[] videoClips; // Use this for initialization void Start () { //获取VideoPlayer和RawImage组件,以及初始化当前视频索引 videoPlayer = this.GetComponent<VideoPlayer>(); rawImage = this.GetComponent<RawImage>(); currentClipIndex = 0; //设置相关按钮监听事件 button_PlayOrPause.onClick.AddListener(OnPlayOrPauseVideo); button_Pre.onClick.AddListener(OnPreVideo); button_Next.onClick.AddListener(OnNextVideo); } // Update is called once per frame void Update () { //没有视频则返回,不播放 if (videoPlayer.texture == null) { return; } //渲染视频到UGUI上 rawImage.texture = videoPlayer.texture; } /// <summary> /// 播放和暂停当前视频 /// </summary> private void OnPlayOrPauseVideo() { //判断视频播放情况,播放则暂停,暂停就播放,并更新相关文本 if (videoPlayer.isPlaying == true) { videoPlayer.Pause(); text_PlayOrPause.text = "播放"; } else { videoPlayer.Play(); text_PlayOrPause.text = "暂停"; } } /// <summary> /// 切换上一个视频 /// </summary> private void OnPreVideo() { //视频列表减一播放上一个视频,并进行避免越界操作 currentClipIndex -= 1; if (currentClipIndex < 0) { currentClipIndex = videoClips.Length - 1; } videoPlayer.clip = videoClips[currentClipIndex]; text_PlayOrPause.text = "暂停"; } /// <summary> /// 切换下一个视频 /// </summary> private void OnNextVideo() { //视频列表加一播放下一个视频,并进行避免越界操作 currentClipIndex += 1; currentClipIndex = currentClipIndex % videoClips.Length; videoPlayer.clip = videoClips[currentClipIndex]; text_PlayOrPause.text = "暂停"; }}

7、脚本编译正确,回到 Unity,把脚本挂载到 RawImage 上,并对应赋值,具体如下图

Unity VideoPlayer教程之 视频播放暂停切换

8、运行场景,即可以通过按钮控制视频的暂停播放和视频切换,具体如下图

Unity VideoPlayer教程之 视频播放暂停切换
  • pr剪辑怎么旋转视频
  • Adobe XD如何打开最近文件#校园分享#
  • Animate怎么实现元件以烟雾形式出场动画
  • ps时间轴怎么转换为帧动画
  • SRT字幕导入PR无法修改格式的应对方法
  • 热门搜索
    庆国庆手抄报内容 飞向太空手抄报 安全意识手抄报 手抄报读书伴我成长 手抄报主题 禁毒手抄报的内容 向国旗敬礼手抄报内容 运动手抄报 手抄报素材 六年级手抄报图片