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。
相关推荐
AllBlue8 小时前
unity调用安卓方法
android·unity·游戏引擎
郝学胜-神的一滴8 小时前
Horse3D游戏引擎研发笔记(十):在QtOpenGL环境下,视图矩阵与投影矩阵(摄像机)带你正式进入三维世界
c++·3d·unity·游戏引擎·godot·图形渲染·unreal engine
AllBlue11 小时前
unity导出成安卓工程,集成到安卓显示
android·unity·游戏引擎
Sator113 小时前
Unity的FishNet相关知识
网络·unity·游戏引擎
AllBlue14 小时前
安卓调用unity中的方法
android·unity·游戏引擎
jtymyxmz1 天前
《Unity Shader》10.1.4 折射
unity·游戏引擎
在路上看风景1 天前
12. Burst
unity
平行云PVT1 天前
实时云渲染解决UE5 像素流插件迁移及传输数据受限问题
unity·ue5·xr·实时云渲染·云桌面·像素流·云推流
熬夜敲代码的小N1 天前
Unity WebRequest高级操作:构建高效稳定的网络通信模块
android·数据结构·unity·游戏引擎
萘柰奈1 天前
Unity【小问题】----URP项目中加载AssetBundle中的预设体即使加载了依赖的材质依然是紫色的问题
unity·游戏引擎·材质