mediaelement.js音频不能与IE9和wav文件一起使用

时间:2012-09-13 08:40:12

标签: html5 internet-explorer-9 wav mediaelement.js

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

我在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>

javascript中加mode: 'shim'

这适用于FF和谷歌浏览器。

1 个答案:

答案 0 :(得分:1)

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

IE9 HTML5不支持WAV文件

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

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

因此,无论微软是否以互操作性的精神购买Mozilla关于MP3的故事,为什么IE不会继续实施Ogg,因此会有一些适用于这两种浏览器的音频格式?你告诉我。也许微软会说,“MP3无处不在 - 为什么我们应该迎合Mozilla的问题呢?”这是一个警察,但我会让它滑落。还有更多狡猾的问题在发生。

让我们完全跳过有损格式并查看LPCM编码的WAV文件。当然,它们更大,但是让我说我​​不在乎,我只想在浏览器中使用某些东西。谁支持它? Firefox 4?是。 Chrome 4?是。 Safari 5?是。 Opera 10.6?是。 IE9?否!!!!

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

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