不正确的标题会阻止Chrome循环播放HTML5音频

时间:2014-03-05 16:15:47

标签: javascript html5 google-chrome audio webserver

我一直有一个非常奇怪且看似不太可能的问题。我创建了一个基于SimpleHTTPServer的自定义python服务器,它要求我设置所有自己的头文件。我开始使用它来提供.wav文件,当他们在chrome中使用HTML5标签时,他们将重播(通过设置currentTime = 0并再次调用play())。但是,如果我将它们托管在标准的Apache服务器上,它们就可以重播。我打开开发工具,慢慢地添加和删除标题到我的python服务器,直到他们开始正常播放。事实证明,缺少的元素是“Accept-Ranges:bytes”标题。没有它,wav文件将不会重播,并且它一切正常。有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:2)

我发现了同样的事情 - 浏览器在通过Accept-Ranges标记播放音频时需要<audio>标题。就我而言,这种情况发生在MP3上(我没有尝试使用WAV)。

我不知道为什么会这样,但如果你想避免它,请使用新的Web Audio API。根据我的经验,如果您使用Web Audio API,Chrome / Safari / Firefox将在没有Accept-Ranges标题的情况下播放(和重放)音频。这是a good starter article

相关问题