MEDIA_ERR_SRC_NOT_SUPPORTED html5音频问题

时间:2010-02-14 06:24:24

标签: audio html5

我正在使用html5音频播放器,当我从与html页面相同的主机上提供.ogg文件时,一切正常。当我把ogg文件放入我的cdn时它失败了,错误代码是MEDIA_ERR_SRC_NOT_SUPPORTED

例如,这很好用

<audio src="/song.ogg" id="player">
  Your browser does not support the <code>audio</code> element.
</audio>

但是这失败了上面的错误代码

<audio src="http://mycdn.com/song.ogg" id="player">
  Your browser does not support the <code>audio</code> element.
</audio>

失败的音频文件的标题看起来像这样(这是来自不同的ogg文件,表现出相同的行为)

HTTP/1.1 200 OK
Server: CacheFlyServe v26b
Date: Sat, 13 Feb 2010 21:10:48 GMT
Content-Type: application/octet-stream
Connection: close
ETag: "c6ee7d86e808cc44bbd74a8db94a5aae"
X-CF1: fA.syd1:cf:cacheD.syd1-01
Content-Length: 2398477
Last-Modified: Sat, 13 Feb 2010 20:50:56 GMT
Accept-Ranges: bytes
X-Cache: MISS from deliveryD-syd1

2 个答案:

答案 0 :(得分:7)

Content-Type = octet / stream标头是问题所在,但如果我正确读取规范,则不应该。这是一个测试用例:http://mozilla.doslash.org/stuff/video-test/video.html

我在Mozilla的bugzilla中filed a bug对此有所了解。 [编辑]回复:

  

我们不会做任何内容嗅探来弄清楚内容是什么 - 我们依赖   提供正确的mime类型。这就是application / octet-stream的原因   不玩,我们为canPlayType返回“”。

答案 1 :(得分:1)

问题是您正在为音频文件提供的mime类型。它需要是'audio / ogg','application / ogg'或'video / ogg'才能让Firefox播放。 Firefox没有做任何形式的“内容嗅探”来确定文件的格式 - 它完全依赖于mime类型。