Chrome中的音频问题

时间:2013-05-17 01:08:43

标签: html5 google-chrome audio

我正在尝试开发HTML5游戏。为此,我在我的本地机器上运行PHP内置服务器,然后我“编译”它(组合/缩小JS文件,缩小CSS等)并将它们上传到生产服务器。

我遇到了音效问题。出于某种原因,Chrome无法识别它已经到达声音的末尾,因此将陷入“缓冲”状态。这是有效的Content-Length标头。 IE和Firefox似乎没有这个问题。它还会影响loop属性,也无法触发ended个事件。

这些问题仅出现在PHP内置服务器上。它在生产中很好用。我错过了什么?


编辑:这是PHP服务器上的示例请求/响应:

GET /bin/aud/rightwhereiwantyou.mp3 HTTP/1.1
Host: 10.0.0.110:8000
Connection: keep-alive
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Accept: */*
Referer: http://10.0.0.110:8000/snake.php
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Range: bytes=0-

HTTP/1.1 200 OK
Host: 10.0.0.110:8000
Connection: close
X-Powered-By: PHP/5.4.13
Content-Type: audio/mpeg
Content-Length: 1685058

2 个答案:

答案 0 :(得分:0)

我猜测Chrome正在接受部分内容响应(字节范围),因为MP3文件可能很大,而您可能希望将其转换为流媒体。

您是否尝试在回复中添加Accept-RangesContent-Range标头?有关示例,请参阅this问题的答案。

答案 1 :(得分:0)

这似乎是谷歌浏览器的known bug