您的位置首页百科问答

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

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

的有关信息介绍如下:

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

Unity VideoPlayer教程之 视频播放暂停切换。本节介绍,在Unity开发中,使用VideoPlayer,进行视频的播放暂停,上一个先一个视频切换个的操作,具体如下

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

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

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

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

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

VideoController 脚本具体内容如下:

using UnityEngine;

using UnityEngine.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();

rawImage = this.GetComponent();

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;

}

///

/// 播放和暂停当前视频

///

private void OnPlayOrPauseVideo() {

//判断视频播放情况,播放则暂停,暂停就播放,并更新相关文本

if (videoPlayer.isPlaying == true) {

videoPlayer.Pause();

text_PlayOrPause.text = "播放";

}

else {

videoPlayer.Play();

text_PlayOrPause.text = "暂停";

}

}

///

/// 切换上一个视频

///

private void OnPreVideo() {

//视频列表减一播放上一个视频,并进行避免越界操作

currentClipIndex -= 1;

if (currentClipIndex < 0) {

currentClipIndex = videoClips.Length - 1;

}

videoPlayer.clip = videoClips[currentClipIndex];

text_PlayOrPause.text = "暂停";

}

///

/// 切换下一个视频

///

private void OnNextVideo() {

//视频列表加一播放下一个视频,并进行避免越界操作

currentClipIndex += 1;

currentClipIndex = currentClipIndex % videoClips.Length;

videoPlayer.clip = videoClips[currentClipIndex];

text_PlayOrPause.text = "暂停";

}

}

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

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