方法一:通过视频总帧数(frameCount)和当前播放的帧数(frame)来比较,判断是否结束 。还可以通过这种方法制作进度条
方法二:通过loopPointReached事件来判断。
方法三:通过time来判断。(不建议使用)首先打开视频,看视频一共有多少秒,然后当前秒数与总时间比较进行判断。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Video; using UnityEngine.UI; public class VideoControl : MonoBehaviour { private VideoPlayer video; private float videoFrame; void Awake() { video = GetComponent<VideoPlayer>(); } void OnEnable() { video.loopPointReached += EndVideoTwo; } //方法一 void VideoEnd() { //video.frame代表的当前帧数; //video.frameCount代表视频总帧数; videoFrame = video.frame; if (videoFrame >= video.frameCount) { //TODO视频播放完毕后的逻辑 } } //方法二 void EndVideoTwo(VideoPlayer video) { //在视频结束时会调用这个函数 Debug.Log("视频播放结束"); } //方法三,111是视频时间 void EndVideoThree() { if (video.time > 111) { Debug.Log("视频结束"); } } }