Unity WebGL视频文件格式

问题描述

尽管根据视频编解码器要求查看Unity手册,但WebGL没有选项。

我已经创建了一个场景,并且添加了视频播放器,该视频播放器可以在Unity游戏窗口中呈现视频;但是,当我开始在WebGL中运行游戏时,正在播放视频,但没有音频。在装有视频播放器的GameObject上,我已将另一个GameObject附加了音频源,但似乎仍无法播放视频。我是否错过了代码中的某些功能以启用音频或将视频的音频设置为音频源?我已经将音频源GameObject拖放到了视频播放器音频源选项上。

    public GameObject videoPlayerHolder;

    void Awake()
    {
        videoPlayer = this.gameObject.GetComponent<VideoPlayer>();
        videoPlayer.Play();
        videoPlayer.loopPointReached += EndReached;
        videoPlayer.url = Path.Combine(Application.streamingAssetsPath,"Intromemoji-1MP4.mp4");
    }

解决方法

设法(几乎)回答了这个问题,经过相当长的时间后,答案为零。

事实证明,任何 H.264 编码器都可以创建可播放的视频,只要它是 .Webm 文件 - 似乎没有其他文件格式适合我。

注意:这适用于大多数浏览器(Chrome、Firefox、Edge、Opera 和 Internet Explorer);但是,Safari 我无法播放任何有声或无声的视频。我觉得这是由于 CORS 或者我阅读了一些与 iFrames 相关的内容,不允许在 Safari 中使用自动音频来防止嘈杂的弹出窗口。尽管如此,我还没有找到解决此问题的全面解决方案。