我一直在尝试为我的基于浏览器的游戏提供背景音乐.它工作得很好,但在Chrome中我经常将音乐剪短并出现此错误:
Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
我看了一下Network选项卡,看到音频文件正在加载,应该是206 Partial Content状态,直到它出现错误并停止.
重新加载页面通常会产生相同的结果,但是在轨道的不同位置.我还没有在IE中遇到这个问题,似乎只有Chrome受到了影响.
有关可能发生的事情的任何建议吗?
示例请求/响应:
GET /music/___________.mp3 HTTP/1.1 Host: ____________.net Connection: keep-alive Accept-Encoding: identity;q=1,*;q=0 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/36.0.1985.143 Safari/537.36 Accept: */* DNT: 1 Referer: http://____________.net/ Accept-Language: en-GB,en-US;q=0.8,en;q=0.6 Cookie: SID=XXXXXXXXXX Range: bytes=0- HTTP/1.1 206 Partial Content Date: Tue,26 Aug 2014 13:53:38 GMT Server: Apache/2.2.26 (Unix) mod_ssl/2.2.26 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 Last-Modified: Fri,13 Jun 2014 21:00:31 GMT ETag: "219f1a-8ed344-4fbbdf7c339c0" Accept-Ranges: bytes Content-Length: 9360196 Content-Range: bytes 0-9360195/9360196 Connection: close Content-Type: audio/mpeg
解决方法
增加Apache的超时设置可以修复它.
基本上Chrome只是“太聪明”了,因为只需要足够快地下载以保持在缓冲区之前,而Apache变得无聊.