SoundJS:混合HTML和网络音频

时间:2017-08-07 09:31:06

标签: javascript createjs soundjs

我想在我的游戏中播放缓冲音频以获取长音乐文件(有点流媒体)。看来我必须使用html音频: Buffered audio in SoundJS

但是,我仍然希望将webaudio用于音效(例如,避免移动浏览器出现延迟)。

这可行吗?我可以在同一页面中为某些声音和网络音频使用html音频获取其他声音,还是我必须为我的音乐文件手动创建一些html音频标签?

1 个答案:

答案 0 :(得分:3)

您实际上可以流式传输到网络音频API,但它增加了相当多的复杂性。 您必须手动将音频数据片段附加到正在播放的缓冲区中,并将加载和解码移动到Web工作者中,这样您就不会阻止主线程。由于网络音频在网络工作者中不可用,因此您必须使用第三方解码库。 我在一个网络工作者中切换到Aurora,用于在应用程序中加载和解码音频,它以块的形式下载和解码音频,并且不会阻止主线程。同时解码来自web api的音频数据会占用Firefox中的所有cpu,在我的机器上可以快速达到95%。 在它的基础上它允许我加载更多的音频资产而不会崩溃浏览器选项卡,100 + 20mb wav文件,主线程上的广告,浏览器选项卡将在40多点时崩溃。