我需要在许多不同的网络浏览器和不同版本中播放音频文件。旧系统生成4位WAV文件,许多浏览器无法处理。所有文件都包含合成或录制的人声。无论如何,我需要更换它。所以我的问题是:
1)在兼容性,尺寸和质量方面,用于音频文件的最佳文件格式是什么?
2)使用HTML5并保持向后兼容的最佳方式是什么?
我们需要支持Internet Explorer版本6,7,8和9; Firefox,Chrome和Safari。
更新:终于让它适用于IE 6-9,Firefox和Chrome;还没有测试过Safari。我了解到Safari for Windows需要Quicktime,IE需要Windows媒体播放器。
答案 0 :(得分:11)
以下是我正在使用的内容:
<audio autoplay>
<source src="/static/sound/SOUND.mp3" type="audio/mpeg">
<source src="/static/sound/SOUND.ogg" type="audio/ogg">
<source src="/static/sound/SOUND.wav" type="audio/wav">
<source src="/static/sound/SOUND.aiff" type="audio/x-aiff">
<object>
<param name="autostart" value="true">
<param name="src" value="/static/sound/SOUND.mp3">
<param name="autoplay" value="true">
<param name="controller" value="false">
<embed src="/static/sound/SOUND.mp3" controller="false" autoplay="true" autostart="true" type="audio/mpeg"></embed>
</object>
</audio>
我提供MP3,OGG,WAV和AIFF相同的音频片段,然后让浏览器选择它想要播放的内容。 audio
标记适用于HTML5,object
代码适用于较旧的系统,embed
适用于某些不支持对象标记的系统。
我将这些信息放在几个网站上的一些信息中,但不幸的是我忘记了网址。
我已经切换到使用howler.js这个东西了。它会自动处理与声音相关的所有跨浏览器问题。不幸的是它不支持IE 6-8,但我已经放弃了支持它们。
答案 1 :(得分:5)
使用HTML5 audio
标记,您可以指定尝试加载的不同音频类型,因为每个浏览器都允许使用不同的类型。此页面上有一个很好的兼容性图表:http://html5doctor.com/native-audio-in-the-browser/
以下代码适用于大多数浏览器。它首先尝试使用新的HTML5 audio
方法,然后再使用embed
方法。
<audio width="100" height="100" autoplay="" controls="" tabindex="0">
<source type="audio/mpeg" src="songs/All-My-Life.mp3"></source>
<source type="audio/ogg" src="songs/All-My-Life.ogg"></source>
<source type="audio/wav" src="songs/All-My-Life.wav"></source>
<embed width="100" height="50" src="songs/All-My-Life.mp3">
</audio>