Webaudio:createMediaElementSource 比 XMLHttpRequest 更快
Webaudio: createMediaElementSource faster than XMLHttpRequest
每当我使用 XMLHttpRequest 播放音乐时,我必须至少等待 10 秒左右才能听到声音。
- 短声音会立即加载。
- 较大的声音(3 分钟)至少需要 10 秒才能播放。
影响加载时间的因素有哪些?我的意思是我在本地主机上这样做。声音应该立即播放,因为我没有下载任何东西。显然,脚本 运行 的时间对于大小声音来说是相等的。
我确实注意到使用 createMediaElementSource 可以显着加快速度并立即播放声音。
所以这是怎么回事?
有问题的音频文件有多大?如果它很大,您可能要为 decodeAudioData
.
付出高昂的代价
使用 createMediaElementSource()
,您可以分块解码音频文件。一旦它认为有足够的缓冲区可以播放到最后,它就会开始播放。
但是对于 decodeAudioData
,您必须等到 整个文件 被解码。
每当我使用 XMLHttpRequest 播放音乐时,我必须至少等待 10 秒左右才能听到声音。
- 短声音会立即加载。
- 较大的声音(3 分钟)至少需要 10 秒才能播放。
影响加载时间的因素有哪些?我的意思是我在本地主机上这样做。声音应该立即播放,因为我没有下载任何东西。显然,脚本 运行 的时间对于大小声音来说是相等的。
我确实注意到使用 createMediaElementSource 可以显着加快速度并立即播放声音。
所以这是怎么回事?
有问题的音频文件有多大?如果它很大,您可能要为 decodeAudioData
.
使用 createMediaElementSource()
,您可以分块解码音频文件。一旦它认为有足够的缓冲区可以播放到最后,它就会开始播放。
但是对于 decodeAudioData
,您必须等到 整个文件 被解码。