1

我在其他线程/讨论中找不到解决方案。

在 IE9 中使用 mediaelement.js 播放 wav 文件时遇到问题。播放器完全黑,没有任何控制按钮。

我尝试了正常的方式不成功

<audio id="player2" src="myFile.wav" type="audio/wav" controls="controls"></audio>

我尝试HTML5shiv失败

<!--[if IE]>
   <script src="html5shiv.js"></script>
<![endif]-->

我试图强制闪退失败。

<audio id="player2" 
       controls="controls">
  <source src="myFile.wav" type="audio/wav" />
  <!-- Flash Fallback -->
  <object width="640" height="360" type="application/x-shockwave-flash" data="flashmediaelement.swf">
      <param name="audio" value="videos/build/flashmediaelement.swf" />
      <param id="flashvars-param" name="flashvars"    value="controls=falseg&file=myFile.wav" />
  </object>        
</audio>

加上mode: 'shim'在javascript中。

这在 FF 和 Google Chrome 中运行良好。

4

1 回答 1

1

看起来 IE9 不会使用 HTML5 中的音频标签播放 .WMA 或 .WAV 文件。我在 Garret Wilson 的博客上找到了这个。

IE9 HTML5 不支持 WAV 文件

HTML5 被证明是有用的。嗯,理论上。如果它奏效了。看,HTML5 具有各种功能,例如播放声音的元素。而这一次,浏览器放弃了他们的专有本能,本着互操作性的精神,他们正在实现相同的 API!微软甚至喜欢这个元素!那么现在我们可以编写跨浏览器工作相同的页面吗?当然不是!虽然它们支持相同的 API,但浏览器决定只支持某些音频编解码器——这意味着没有一种音频格式可以在所有浏览器上运行。像往常一样,微软在这里的行为只能被认为是恶意的,并且本着阻止互操作性的精神,而不是鼓励它。

我们以 MP3 为例。IE9 支持它。耶。火狐 9 怎么样?不,Mozilla 声称这是因为专利风险。好吧,好吧,如果你这么说。那么 Firefox 支持什么呢?奥格。这是一个开放的音频标准,据说不受专利限制。

那么,不管微软是否购买了 Mozilla 关于 MP3 的故事,本着互操作性的精神,为什么 IE 不继续实施 Ogg,以便在两种浏览器上都有一些音频格式?你告诉我。也许微软会说,“MP3 无处不在——我们为什么要迎合 Mozilla 的问题?” 这是一个逃避,但我会让它溜走。还有更多棘手的问题正在发生。

让我们完全跳过有损格式,看看 LPCM 编码的 WAV 文件。当然,它们更大,但假设我不在乎,我只是想要跨浏览器工作的东西。谁支持它?火狐4?是的。铬 4?是的。野生动物园 5?是的。歌剧 10.6?是的。IE9?不!!!!

如果 IE9 支持 WAV,那么至少有一种音频格式支持所有主要的现代浏览器。

猜猜是谁创建了 WAV 格式?微软。他们为什么不支持?也许你应该开始在上面的段落中寻找答案。

于 2013-01-29T13:52:13.467 回答