为什么 MP3 可以在 Safari 中播放,但在 Chrome 中却不能播放?

为什么 MP3 可以在 Safari 中播放,但在 Chrome 中却不能播放?

我尝试过玩MP3我在两台 MacBook 的 Google Chrome 上播放了该音乐,但一直无法在浏览器中播放;在 Safari 中则没有出现任何问题。在 Chrome 中,音频播放器控制加载,但实际的音频文件始终无法加载。查看 HTTP 请求/响应后,我注意到 MP3 在 Chrome 中返回了 200、206 和最后的 200 代码。在 Safari 中,我只收到一个 200。

重要的一点是,此网站提供的所有 MP3 都无法在 Chrome 中加载或播放。我播放其他网站的 MP3 没有任何问题。

再次重申一下,这是 MP3: http://nyc.podcast.play.it/media/d0/d0/d0/dW/dT/d7/d5/WT75_3.MP3

答案1

我们在 Safari 中播放 MP3 文件时也遇到了类似的问题,但在 Chrome (10) 下没有遇到此问题。

有趣的是,不管你信不信,解决方案在于文件的时间戳,对于无法在 Chrome 上播放的文件,时间戳是未来的(因为我们的录制脚本)。因此,只要我们将 MP3 上的时间戳修改为当前/过去的时间,MP3 文件在 Chrome 中也能正常播放。

手头的工具,curl:

$ curl -I http://x.y.z.42/mp3files/2011/4/9/foo-h13.mp3
HTTP/1.1 200 OK
Date: Sat, 09 Apr 2011 15:39:48 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch
Last-Modified: Sat, 09 Apr 2011 15:39:48 GMT
ETag: W/"c7a00c9-1b77609-4a082a5de8441"
Accept-Ranges: bytes
Content-Length: 28800521
Content-Type: audio/mpeg

...并检查 MP3 文件的有效性(mp3check,Debian 软件包目录的一部分):

$ mp3check -a foo-h13.mp3
foo-h13.mp3:
anomaly: audio mpeg version 2.0 stream
anomaly: sampling rate 22.1kHz
anomaly: bitrate  64kbit/s
anomaly: mode single chann
anomaly: no crc

答案2

我在 OSX 10.6.6 上的 Chrome 9 中播放 mp3 效果很好。我的代码是:

<audio preload="metadata" src="http://example.com/example.mp3"></audio>

您也可以尝试 preload="auto"。顺便说一句,我使用 jPlayer,因为它提供了自动 Flash 回退功能(此示例中未在 Chrome 上使用)。

@Jeff,你错了。Safari、Chrome 和 IE9 原生播放 mp3。请参阅:http://html5doctor.com/native-audio-in-the-browser/

答案3

您是否尝试过下载并收听 MP3?如果成功,则问题很可能与您用来播放 MP3 文件的插件有关,可能需要重新安装。

相关内容