1

我使用 WWW 从磁盘加载 ogg 文件。

    var www = new WWW (@ "file://C:/myfile.ogg");
    yield return www;
    // Next line hangs
    var clip = www. audioClip;

正如我所见,将 ogg 文件加载到内存时,Unity 会挂起 1000 毫秒。我尝试在其他线程中执行此操作,但 Unity 不允许这样做。

为什么我不预加载所有的音乐?因为在下载这些文件时,10-15 (3-5 MB) UnityEngine 需要 1.5 GB 的 RAM。

在音频导入检查器中,我可以配置 StreamFromDisk 选项。然后,音频将直接从磁盘流式传输,不会占用内存。

如何像在检查器中那样使用 WWW 从磁盘读取的文件流式传输?

你有什么建议?

4

1 回答 1

0

也许如果您将导入的 AudioClip 放入资产包中,并按原样加载它 - 将保留来自磁盘的流选项。我没有测试过这个,但我怀疑它可以工作。

于 2013-03-02T07:56:54.467 回答