Unity Web 支持使用 VideoPlayer API 播放视频。本页面仅提供有关 Web 支持的视频播放功能的信息。要了解如何将视频与 Unity 应用程序结合使用,请参阅视频播放器。
您可以使用视频播放器 组件来控制视频播放与 Web 中其他交互行为之间的时序关系。有关更多信息,请参阅通过视频播放器组件进行时钟管理。
唯一的例外是:
VideoPlayer 组件不支持与 captureFramerate 同步播放。默认情况下,它采用游戏时间更新模式下描述的普通异步播放。VideoPlayer 组件通过将播放控件暂时加速或减速,纠正视频播放和 Unity 时间之间的漂移。但是,由于 Safari 浏览器中的视频支持存在限制,因此无法精确运行此机制,因此会禁用漂移校正。Unity Web 支持以下视频播放音频输出模式:
| 类 | 用途 |
|---|---|
| VideoAudioOutputMode.None | 禁用嵌入式音频。 |
| VideoAudioOutputMode.Direct | 将嵌入式音频直接发送到平台的音频硬件。 |
| VideoAudioOutputMode.AudioSource | 将嵌入式音频发送到指定的 AudioSource。如果将输出模式设置为 VideoAudioOutputMode.AudioSource,Unity 会忽略除静音之外的所有 AudioSource 字段。这是因为 Web 上无法提供视频播放的 3D 空间化。 |
Unity 支持以下常见视频文件格式:
| 格式 | 扩展名 |
|---|---|
| MPEG–4 Part 14 | .mp4 |
| MPEG–4 文件,用于从 Apple iTunes Store 下载的视频 | .m4v |
| Apple 的 QuickTime 电影格式 | .mov |
| 动态图像专家组 (MPEG) | .mpg |
| MPEG 视频 | .mpeg |
| WebM 视频 | .webm |
| Ogg 视频文件 | .ogv |
此限制的唯一例外是视频 URL 没有文件名扩展名,在这种情况下,浏览器会无限制播放视频。
VideoClips 在 Web 上不受支持。通常,在创建场景时,可使用 VideoClipImporter 将 VideoClip 导入 Unity 项目,如果要在多个平台上重用相同的 VideoClip,这非常方便。但是,在构建附加了 VideoClip 的 Web 游戏时,Unity 控制台会为游戏中的每个 VideoClip 记录以下警告:
Embedded video clips are not supported by the Web player: %s. \nUse the Video Player component's URL option instead``%s 替换为视频剪辑名称的位置。在运行时,如果游戏分配了 VideoClips,Unity 会在 Web 浏览器的开发者控制台中记录一条警告消息。