我正在使用html5音频标签,似乎无法找到mp3和wav的编解码器指定内容。
我知道ogg是:
<audio>
<source type='audio/ogg; codec="vorbis"' />
</audio>
任何人都知道我会为mp3和wav写什么?
答案 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
标记:
<source type="audio/ogg">
<source type="audio/mpeg">
<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
(有关常量1
,WAVE_FORMAT_PCM
,请参见RFC2361的附录A。)
对于普通的MPEG Layer 3音频,除了位流本身之外没有其他容器,因此只需使用:
audio/mpeg
最后,就像其他人提到的那样,您无需显式指定编解码器。指定文件类型就足够了。但是,如果您已经知道编解码器,则可以帮助指定编解码器,从而实现高效加载和更少的探测。