VideoPlayer详解四(判断视频是否结束)

方法一:通过视频总帧数(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(); 
    }
    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("视频结束");
        }
    }
}

 

你可能感兴趣的:(VideoPlayer详解四(判断视频是否结束))