html5音频编解码器

时间:2010-07-29 02:26:22

标签: html xhtml audio html5 html5-audio

我正在使用html5音频标签,似乎无法找到mp3和wav的编解码器指定内容。

我知道ogg是:

<audio>
<source type='audio/ogg; codec="vorbis"' />
</audio>

任何人都知道我会为mp3和wav写什么?

3 个答案:

答案 0 :(得分:5)

<source type="">关键字的最佳参考是 IANA media types registry,正如您所想,但是developer.mozilla.org's "Media formats for HTML audio and video" article,它记录了哪些浏览器(不仅仅是Firefox)实际上实现,而不是RFC应该发生的事情。 (例如,.WAV文件没有官方MIME类型。)

对于您提到的音频容器格式,这些是我推荐的source标记:

  • Ogg:<source type="audio/ogg">
  • MP3:<source type="audio/mpeg">
  • WAV:<source type="audio/wav">(令人讨厌的是,audio/wave同时是“首选”,“与Chrome不兼容”,非常感谢Google。)

我建议您确切指定您正在使用的编解码器,因为这会嵌入可能更改为HTML的详细信息。浏览器会搞清楚。 (实际上,应该使用audio标记上的通用URL和HTTP请求上的Accept:标头来处理整个混乱,但是没有人听我说。)

答案 1 :(得分:1)

你用什么浏览器播放mp3文件?并非所有浏览器都支持通过音频标签播放mp3。见:http://dev.opera.com/articles/view/html5-audio-radio-player/ 我建议根据浏览器类型制作一个选择音频类型的脚本。这样用户总是可以播放音乐。

答案 2 :(得分:0)

您在Ogg中使用Vorbis的语法接近正确,只需确保使用codecs,复数形式即可。

audio/ogg; codecs=vorbis

浏览器在Ogg中不支持PCM和MP3。但是,WAV支持PCM,为此您可以使用:

audio/wav; codecs=1

(有关常量1WAVE_FORMAT_PCM,请参见RFC2361的附录A。)

对于普通的MPEG Layer 3音频,除了位流本身之外没有其他容器,因此只需使用:

audio/mpeg

最后,就像其他人提到的那样,您无需显式指定编解码器。指定文件类型就足够了。但是,如果您已经知道编解码器,则可以帮助指定编解码器,从而实现高效加载和更少的探测。