html - Chrome 中的音频问题

标签 html google-chrome audio

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

我遇到了音效问题。出于某种原因,Chrome 不会识别它已经到达声音的结尾,因此会卡在“缓冲”状态。这与有效的 Content-Length header 无关。 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

最佳答案

我的大胆猜测是 Chrome 正在接受部分内容响应(字节范围),因为 MP3 文件可能很大,您可能希望改为流式传输。

您是否尝试过将 Accept-RangesContent-Range header 添加到您的响应中?查看 this 的答案举个例子。

关于html - Chrome 中的音频问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599911/

相关文章:

audio - 如何使用erlang语言发出声音?

java - Android中使用jSoup从外部网站接收表数据

javascript - 添加多个在 HTML 中排列的 colspans

CSS 图像和其他阻止首次绘制的图像

javascript - 使用XHR通过POST发送大量数据

html - 以 SVG 作为数据 URL 的 CSS 背景在 Chrome 中不起作用

audio - 如何找到 AAC-LC(非 ADTS)音频包长度

HTML5 音频直播流在设备中拒绝连接

html - 背景缩放与 css 过渡不起作用

html - Mailchimp Outlook 条件 CSS 未生效