我们正在尝试从web1.cowbird.com提供MP3文件。 大多数情况下,一切正常。 但是,有时候有一个浏览器无法播放的文件,我不知道为什么。 这是一个例子: http : //web1.cowbird.com/items/stories/2012/11/04/05/18/47222/1_5095f977b4f532.99916135-original.mp3
如果你wget或curl的文件,它工作正常。 但是试图在Chrome或Firefox中使用它会导致出现一些奇怪的错误,因为某些原因,浏览器没有下载整个文件,因此无法播放它。 出于某种原因,浏览器似乎在第一个请求中获得200结果,然后使用Range:bytes = 0-头创build另一个请求。 响应标题看起来是正确的,但没有足够的字节正在传输。
我一直在寻找所有试图了解是否它与字节范围请求,并尝试了各种Apache设置没有运气。 很乐意提供任何额外的信息。 谢谢!
好吧,看起来这是MP3文件的问题,尽pipe它可以下载并在我的Linux桌面上播放。 “文件”命令揭示了这一点:
工作mp3:audio文件与ID3版本2.3.0,包含:audio文件与ID3版本2.3.0,包含:MPEG ADTS,第三层,v1,128 kbps,44.1千赫,立体声
非工作的mp3:ID3版本2.3.0的audio文件,包含:
这导致我到这个网站: https : //code.google.com/p/chromium/issues/detail?id=268892
其中说到一个MP3头问题,虽然它不完全相同,ffmpeg不报告相同的错误。 然而,在文件上运行跛脚修复了这个问题,现在正在工作。 我用这个命令:lame -b 192 -h
现在,http请求的作品。
编辑:不幸的是,还没有完全解决了这个问题,因为跛脚失败的一些文件,如这个: http : //web1.cowbird.com/items/stories/2012/03/22/10/56/ 15271 / 9b5ce75faa96ae2347a7d621ee2a1a2402e1257c9a488f6bd31df0c6d502533d-original.mp3