Unity的VideoPlayer准备完成回调注意

重要方法

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;
    }
}

示例图

相关推荐
相信神话20214 小时前
3.2《酒魂》规则设计文档
游戏引擎·godot·2d游戏编程·godot4·2d游戏开发
Avalon71214 小时前
Unity3D响应式渲染UI框架UniVue
游戏·ui·unity·c#·游戏引擎
风酥糖15 小时前
Godot游戏练习01-第33节-新增会爆炸的敌人
游戏·游戏引擎·godot
ellis197015 小时前
Unity UI性能优化一之插件【Unity UI Optimization Tool】
unity·性能优化
Zik----18 小时前
Unity基础学习笔记(B站视频课整理)
unity·vr
郑寿昌1 天前
UE5与UE6在Lumen和Nanite的差异解析
游戏引擎·图形渲染·着色器
郝学胜-神的一滴1 天前
罗德里格斯旋转公式(Rodrigues‘ Rotation Formula)完整推导
c++·unity·godot·图形渲染·three.js·unreal
郑寿昌2 天前
UE6 AI加速Lumen光线追踪降噪技术解析
人工智能·游戏引擎
晴夏。2 天前
GAS下的网络同步的全面分析【超级全面】
游戏引擎·ue·gas·网络同步
田鸡_2 天前
Unity新输入系统(Input System)教学篇
unity·游戏引擎·游戏程序