重要方法
Play:播放视频,如果视频没有处于准备状态,先调用Prepare方法,准备完成后再播放。
Pause:暂停视频,再次播放从停留位置开始。
Stop:停止视频并回到开始,准备完成状态设置为false,销毁内部资源。
准备完成回调 prepareCompleted
回调该函数后,视频可立即播放。
注意
视频只有处于准备完成状态才可以播放。
不要在准备完成的回调方法中调用Stop方法,否则视频一直处于未准备完成状态。
示例
videoplayer取消唤醒播放,设置source为url
测试1:勾选useStopMethod,按下P键。测试结果为,打印日志,视频不播放
测试2:取消勾选StopMethod,按下P键。测试结果为,打印日志,视频播放
csharp
using UnityEngine;
using UnityEngine.Video;
public class VideoTest1 : MonoBehaviour
{
[SerializeField] VideoPlayer video;
[SerializeField] string url;
[SerializeField] bool useStopMethod = true;
private void Awake()
{
video.prepareCompleted += VideoPrepareCompleted;
video.url = Application.streamingAssetsPath + "/" + url;
}
private void VideoPrepareCompleted(VideoPlayer source)
{
Debug.Log((Time.time, "准备完成:" + source.isPrepared));
if (useStopMethod)
{
source.Stop();
Debug.Log((Time.time, "调用Stop后,准备完成:" + source.isPrepared));
}
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.P))
{
video.Play();
}
}
private void OnDestroy()
{
video.prepareCompleted -= VideoPrepareCompleted;
}
}
示例图
