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

Tob*_*rff 7 html5 internet-explorer html5-audio internet-explorer-9 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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

有关上述标记的实际操作,请参阅http://l.urff.at/html5audioexample.

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

Ash*_*ain 1

您的示例在 Windows 8 上的 IE10 中运行良好。

您应该知道:

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