Webaudio:createMediaElementSource 比 XMLHttpRequest 更快

Webaudio: createMediaElementSource faster than XMLHttpRequest

每当我使用 XMLHttpRequest 播放音乐时,我必须至少等待 10 秒左右才能听到声音。

影响加载时间的因素有哪些?我的意思是我在本地主机上这样做。声音应该立即播放,因为我没有下载任何东西。显然,脚本 运行 的时间对于大小声音来说是相等的。

我确实注意到使用 createMediaElementSource 可以显着加快速度并立即播放声音。

所以这是怎么回事?

有问题的音频文件有多大?如果它很大,您可能要为 decodeAudioData.

付出高昂的代价

使用 createMediaElementSource(),您可以分块解码音频文件。一旦它认为有足够的缓冲区可以播放到最后,它就会开始播放。

但是对于 decodeAudioData,您必须等到 整个文件 被解码。