【问题标题】:Load external OGG file into Unity WebGL build at runtime在运行时将外部 OGG 文件加载到 Unity WebGL 构建中
【发布时间】:2016-12-19 21:20:59
【问题描述】:

我正在尝试在运行时在 WebGL 构建中将一些 OGG 格式的声音加载到我的游戏中。我使用 WWW 类来获取扩展名为“.ogg”的文件,然后调用 www.audioClip 来获取下载的文件。这适用于其他平台,但在 WebGL 中失败。

Unity 抛出此错误消息:“不支持在此平台上流式传输 'ogg'”。奇怪,因为我没有尝试流式传输它,并且我尝试显式调用 GetAudioClip(false, false, AudioType.OGGVORBIS) 并得到相同的结果。

我尝试将我的 OGG 文件转换为 AAC(带有 M4A 和 MP4 扩展名)并使用 www.audioClip(错误,它无法从 URL 确定文件类型)和 www.GetAudioClip(false, false, AudioType.MPEG)(没有错误但也没有声音)加载它)。我在网上看到的最接近解决方案的方法是改用 MP3,但出于许可原因,我不想这样做。

Unity 中的 WebGL 是否仅限于内置于应用程序中的音频资产?

【问题讨论】:

    标签: unity5 unity-webgl audioclip


    【解决方案1】:

    尝试:

    WWW data = new WWW (url); yield return data;
    AudioClip ac = data.GetAudioClipCompressed(false, AudioType.AUDIOQUEUE) as AudioClip;
    if(ac != null)
    {
        ac.name = "mySoundFile.ogg";
        gameObject.GetComponent<AudioSource> ().clip = ac;
    }
    else
    {
        gameObject.GetComponent<AudioSource> ().clip = null;
        Debug.Log("no audio found.");
    }
    

    适用于我的 .ogg 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 2019-09-28
      • 2020-10-12
      • 2016-07-31
      • 2020-05-07
      • 2019-01-13
      • 1970-01-01
      相关资源
      最近更新 更多