在 Internet Explorer 中播放 HTML 音频?

Posted

技术标签:

【中文标题】在 Internet Explorer 中播放 HTML 音频?【英文标题】:Play HTML audio in Internet Explorer? 【发布时间】:2012-10-15 11:16:08 【问题描述】:

我有这个 html 和 js 用于播放一些音频:

HTML

<div id="audio-clips">
    <audio src="/audio/cha-ching.wav" type="audio/wav" id="audio-cha-ching">
</div>

javascript

var sfx = $("#audio-clips #audio-cha-ching")[0];
sfx.play();

这在 IE 8 中失败,因为它无法识别“播放”方法。是否有使用相同代码跨浏览器工作的 jQuery 音频播放方法?我宁愿这样做,然后尝试回退到一些特定于 IE 的解决方案(因为特定于浏览器的解决方案总是很脆弱)。

【问题讨论】:

据我在各种博客中看到的,在 IE8 中使音频工作的唯一方法是使用 Flash 后备。您可以尝试schillmania.com/projects/soundmanager2,它在不支持 html 音频时提供 Flash 回退 【参考方案1】:

我强烈建议使用 howler.js 来播放音频文件。它在浏览器和设备之间具有很好的兼容性。它在可用时使用 HTML5 音频,并在必要时回退到旧技术。

【讨论】:

不支持IE8,只支持IE9及以上。【参考方案2】:

在 IE9 上开始支持 IE 的 HTML5 :(.

顺便说一句,我不确定IE是否播放WAV(我不会这么说): http://en.wikipedia.org/wiki/HTML5_Audio

Fallback solution for HTML and legacy browsers

【讨论】:

你说得对,根据你提供的wiki链接,IE不支持.wav,它只支持.mp3.aac 很多浏览器都支持WAV格式,包括IE9+。 microsoft.com/web/post/… @Sohnee 是的,但不是 IEopera IE:“合适的音频格式是 .mp3、.wav 和 .ogg。” microsoft.com/web/post/… Opera 也可以播放 wav。 Opera:“Windows 和 Mac 上的 Opera 10.50 支持 Ogg 容器格式和 Theora 和 Vorbis 编解码器,以及 WAVE 容器格式和 PCM 编解码器。” my.opera.com/core/blog/2010/03/03/…【参考方案3】:

audio 标签在 Internet Explorer 9 及更高版本中可用。您可以使用Can I Use - Audio 进行检查。

音频标签上的 Firefox 3.6+、Safari 5+、Opera 10.5+ 和 Internet Explorer 9+ 支持 wav 格式。除了 wav 源之外,您还需要添加一个 MP3 源才能获得 Chrome 支持。

要获得向后兼容的支持,您可以使用以下 - 为简洁起见省略了 Flash 元素。

<audio controls preload="auto" autobuffer> 
  <source src="sound.mp3" />
  <source src="sound.ogg" />
  <source src="sound.wav" />
  <!-- now include flash fall back -->
</audio>

【讨论】:

【参考方案4】:

将您的音频编码为 mp4 格式,而不是 wav。这在 IE 11 中适用于我。

【讨论】:

以上是关于在 Internet Explorer 中播放 HTML 音频?的主要内容,如果未能解决你的问题,请参考以下文章

Internet Explorer 11 中的 <audio> 标记兼容性

Internet Explorer 8 无法播放 MIDI 文件

为啥 Internet Explorer 对 HTML5 视频显示“错误:视频播放已中止”?

带有开始时间的 HTML5 视频播放器在 Internet Explorer 上不起作用

在 Internet Explorer 9 中使用 HTML5 实时流式传输 h.264

新的 Audio() 未在 Internet Explorer 中实现