Internet Explorer 10中的HTML5音频标记的“错误:不支持的音频类型或无效的文件路径”

时间:2012-11-09 16:56:33

标签: html5 internet-explorer internet-explorer-9 html5-audio internet-explorer-10

我有以下带有音频标记的html5文档,以及不支持它的浏览器的Flash回退:

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  </head>
  <body>
    <audio autoplay controls preload="auto" autobuffer> 
      <source src="trumpet.ogg" type="audio/ogg">
      <source src="trumpet.mp3" type="audio/mp3">
      <source src="trumpet.wav" type="audio/wav">
      <source src="trumpet.m4a" type="audio/aac">

      <!-- Flash fallback -->
      <object width="1" height="1" type="application/x-shockwave-flash" data="player.swf">
        <param name="movie" value="player.swf">
        <param name="flashvars" value="file=trumpet.mp3">
      </object>
    </audio>
  </body>
</html>

所有文件都由http头中具有正确MIME类型的服务返回。该解决方案适用于除Internet Explorer 9和10之外的所有浏览器(除了兼容模式,因为Flash文件将播放)。

在这两个浏览器中,我可以看到播放器控件的错误消息显示“错误:不支持的音频类型或无效的文件路径”。我试图改变源标签的顺序,但找不到解决方案让它发挥任何一个。

有没有人提示要检查什么或这里出了什么问题?

请参阅http://l.urff.at/html5audioexample以了解上述标记。

提前感谢任何有用的提示或提示! :)

1 个答案:

答案 0 :(得分:0)

您的示例在Windows 8的IE10中适用于我。

你应该知道:

  • 您只需要Ogg Vorbis和AAC(.m4a)来覆盖所有浏览器。 .wav和.mp3无济于事。
  • 某些格式具有复杂的子格式,例如.wav文件可以包含MP3音频,.m4a文件可以包含特定系统可能不支持的某些采样率或位深度,而.ogg文件可能包含视频或其他内容。大多数浏览器不支持所有子格式,因此您应仔细检查所使用的每种声音的确切子格式,并确保它们得到支持。几乎总是支持16位44.1KHz单声道/立体声,所以尽量不要偏离它。