我想在我的游戏中播放长音乐文件的缓冲音频(类似于流媒体)。似乎我必须使用html音频:Buffered audio in SoundJS
但是,我仍然想使用webaudio来实现声音效果(例如,为了避免在移动浏览器上的延迟)。
这可行吗?我是否可以在同一页面中对某些声音使用html音频,对其他声音使用web音频,或者我必须手动为我的音乐文件创建一些html音频标记?
发布于 2017-11-21 14:57:47
你实际上可以流进网络音频api,但它增加了相当多的复杂性。当音频数据片段传入时,您必须手动将其附加到正在播放的缓冲区中,并将加载和解码移动到web worker中,这样您就不会阻塞主线程。因为网络音频在网络工作者中不可用,所以你必须使用第三方解码库。我在一个web worker中切换到Aurora来加载和解码应用程序中的音频,它可以下载和解码成块的音频,并且不会阻塞主线程。此外,解码来自web api的音频数据会占用Firefox中的所有cpu,在我的机器上高达95%,这是相当快的。最重要的是,它允许我加载更多的音频资源,而不会崩溃的浏览器标签,100+ 20mb wav文件的主线,浏览器标签上的广告会崩溃略高于40。
https://stackoverflow.com/questions/45543640
复制相似问题