组件添加:

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

unity播放服务器上的视频流 unity视频播放插件_VideoPlayer


资源

unity播放服务器上的视频流 unity视频播放插件_unity播放服务器上的视频流_02

unity播放服务器上的视频流 unity视频播放插件_ide_03

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

unity播放服务器上的视频流 unity视频播放插件_unity_04

unity播放服务器上的视频流 unity视频播放插件_unity播放服务器上的视频流_05



渲染方式(常见方式):

  • 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,视频会在场景加载完成后自动开始播放。
  1. isLooping:
  • 如果设置为true,视频在播放结束后会自动重新开始。
  1. clip:
  • 视频片段的引用,可以通过这个属性获取或设置当前播放的视频片段。
  1. isPrepared:
  • 表示视频是否已经准备好播放。在视频准备好之前,某些操作(如播放)可能不可用。
  1. prepareCompleted:
  • 一个事件,当视频准备好播放时触发。可以在这里执行播放前的准备操作。
  1. error:
  • 一个事件,当视频播放过程中出现错误时触发。可以用来处理错误情况。

API :

  1. Prepare():
  • 开始异步准备视频播放。在视频准备好后,可以通过prepareCompleted事件来获取准备状态。
  1. Play():
  • 开始播放视频。如果视频已经准备好,会立即播放;如果视频还在准备中,会在准备完成后自动播放。
  1. Pause():
  • 暂停当前播放的视频。
  1. Stop():
  • 停止视频播放,并重置到视频的开始位置。
  1. SetTime(float time):
  • 设置视频播放的当前时间。time参数是视频总时长的百分比。
  • videoPlayer.time = time; // 设置视频的当前时间
  1. GetTime():
  • 获取视频当前的播放时间。
  1. GetDuration():
  • 获取视频的总时长。
  1. SendVideoRenderEvent(VideoRenderEvent event):
  • 用于发送视频渲染事件。这个API可以用来自定义视频渲染的逻辑,例如在视频渲染的不同阶段执行特定的操作。
  1. SetTargetTimeScale(float timeScale):
  • 设置视频播放的速度。timeScale参数可以是大于1、小于1或等于1的值,分别代表加速、减速和正常速度。
  1. SetTargetAudioSource(AudioSource source):
  • 设置视频音频输出的目标Audio Source。
  1. SetTargetTexture(Texture texture):
  • 设置视频渲染的目标纹理。
  1. SetSource(VideoSource source, VideoClip clipOrUrl):
  • 设置视频源和视频片段或URL。需要先设置source,然后再传入相应的clipOrUrl
  1. SetRenderMode(RenderMode renderMode):
  • 设置视频的渲染模式。
  1. SetAudioOutputMode(AudioOutputMode outputMode, AudioSource source):
  • 设置音频输出的模式和目标Audio Source。