HTML 5音频标签长缓冲时间

时间:2015-04-19 11:09:34

标签: html performance audio delay html5-audio

我目前正在其中一个项目中使用HTML 5音频标签。我从外部源加载MP3文件然后启动它:

$("#audioPlayer").attr("src",audioStreamURL);
document.getElementById("audioPlayer").play()

这很好用,但我注意到在播放文件(Chrome和Safari)之前,音频标签需要很长时间才能缓冲,这会导致延迟几秒钟,从而显着降低用户体验。

在Chrome中检查控制台时,我注意到音频大部分时间都是从ca开始的。已经“转移”了5 MB。

我还检查了它是否是由于服务器的延迟并在VLC-Player中加载了音频文件。但是,它立即开始,没有任何延迟。

有人知道,为什么Chrome会这样做?更重要的是:有人知道这个问题的解决方案吗?解决方法或音频标签替代方案?

我真的很感谢你的帮助!

1 个答案:

答案 0 :(得分:2)

看看HTML5音频的“canplaythrough” - 事件。当音频无需缓冲即可播放时,此事件将触发。您可以将侦听器绑定到该事件,该侦听器将播放音频。

也许这比播放音频更快,等待整个文件下载。

我在那里演示了如何预加载HTML5音频:preloading the next song in a playlist a bit before the current one ends