Unity 视频组件 VideoPlayer

组件添加:

在自己定义的组件下(例如:Panel) 点击 Inspector 面板中的 AddComponent ,输入"VideoPlayer"。


资源

这里 视频资源有两种形式,第一种是 VideoClip ,需要将视频文件拖拽到该属性字段中,便可播放。第二种是URL,需要输入视频的网络地址,如HTTP或RTSP,便可。


渲染方式(常见方式):

  • Render Mode: Render Texture - 视频渲染到一个Render Texture上,然后可以将该纹理应用到任何支持它的对象上。
  • Render Mode: Material Override 常见得渲染方式,渲染到设置的Renderer上。

音频输出

  1. Audio Output Mode: Audio Source - 使用默认的Audio Source组件播放音频。
  2. Audio Output Mode: Direct - 直接输出音频,绕过Unity的音频系统。

其他

  1. playOnAwake:

    • 如果设置为true,视频会在场景加载完成后自动开始播放。
  2. isLooping:

    • 如果设置为true,视频在播放结束后会自动重新开始。
  3. clip:

    • 视频片段的引用,可以通过这个属性获取或设置当前播放的视频片段。
  4. isPrepared:

    • 表示视频是否已经准备好播放。在视频准备好之前,某些操作(如播放)可能不可用。
  5. prepareCompleted:

    • 一个事件,当视频准备好播放时触发。可以在这里执行播放前的准备操作。
  6. error:

    • 一个事件,当视频播放过程中出现错误时触发。可以用来处理错误情况。

API :

  1. Prepare():

    • 开始异步准备视频播放。在视频准备好后,可以通过prepareCompleted事件来获取准备状态。
  2. Play():

    • 开始播放视频。如果视频已经准备好,会立即播放;如果视频还在准备中,会在准备完成后自动播放。
  3. Pause():

    • 暂停当前播放的视频。
  4. Stop():

    • 停止视频播放,并重置到视频的开始位置。
  5. SetTime(float time):

    • 设置视频播放的当前时间。time参数是视频总时长的百分比。
    • videoPlayer.time = time; // 设置视频的当前时间
  6. GetTime():

    • 获取视频当前的播放时间。
  7. GetDuration():

    • 获取视频的总时长。
  8. SendVideoRenderEvent(VideoRenderEvent event):

    • 用于发送视频渲染事件。这个API可以用来自定义视频渲染的逻辑,例如在视频渲染的不同阶段执行特定的操作。
  9. SetTargetTimeScale(float timeScale):

    • 设置视频播放的速度。timeScale参数可以是大于1、小于1或等于1的值,分别代表加速、减速和正常速度。
  10. SetTargetAudioSource(AudioSource source):

    • 设置视频音频输出的目标Audio Source。
  11. SetTargetTexture(Texture texture):

    • 设置视频渲染的目标纹理。
  12. SetSource(VideoSource source, VideoClip clipOrUrl):

    • 设置视频源和视频片段或URL。需要先设置source,然后再传入相应的clipOrUrl
  13. SetRenderMode(RenderMode renderMode):

    • 设置视频的渲染模式。
  14. SetAudioOutputMode(AudioOutputMode outputMode, AudioSource source):

    • 设置音频输出的模式和目标Audio Source。
相关推荐
ellis19704 小时前
Unity插件SafeArea Helper适配异形屏详解
unity
nnsix5 小时前
Unity Physics.Raycast的 QueryTriggerInteraction枚举作用
unity·游戏引擎
地狱为王5 小时前
Cesium for Unity叠加行政区划线
unity·gis·cesium
小贺儿开发14 小时前
Unity3D 八大菜系连连看
游戏·unity·互动·传统文化
在路上看风景14 小时前
25. 屏幕像素和纹理像素不匹配
unity
ۓ明哲ڪ15 小时前
Unity功能——创建新脚本时自动添加自定义头注释
unity·游戏引擎
熬夜敲代码的小N15 小时前
Unity大场景卡顿“急救包”:从诊断到落地的全栈优化方案
java·unity·游戏引擎
派葛穆17 小时前
Unity-realvirtual-S7通讯快速配置(未完结)
unity·游戏引擎
w-白兰地1 天前
【Addressable远端加载资源】
unity·addressable·资源加载
小张不爱写代码1 天前
[Unity 技巧] 如何自定义 Inspector 变量显示名称 (CustomLabel)
unity·游戏引擎