【发布时间】:2010-07-29 02:26:22
【问题描述】:
我正在使用 html5 音频标签,但似乎找不到为 mp3 和 wav 的编解码器指定的内容。
我知道 ogg 是:
<audio>
<source type='audio/ogg; codec="vorbis"' />
</audio>
有人知道我会为 mp3 和 wav 写什么吗?
【问题讨论】:
标签: xhtml audio html html5-audio
我正在使用 html5 音频标签,但似乎找不到为 mp3 和 wav 的编解码器指定的内容。
我知道 ogg 是:
<audio>
<source type='audio/ogg; codec="vorbis"' />
</audio>
有人知道我会为 mp3 和 wav 写什么吗?
【问题讨论】:
标签: xhtml audio html html5-audio
<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:标头,但没有人听我的。)
【讨论】:
audio/wave 是“首选”,但也“不适用于 Chrome”,这听起来有些人需要被锁在一个房间里直到他们达成协议。并提交官方媒体类型注册。
您使用什么浏览器播放 mp3 文件?并非所有浏览器都支持通过音频标签播放 mp3。见:http://dev.opera.com/articles/view/html5-audio-radio-player/ 我建议制作一个根据浏览器类型选择音频类型的脚本。这样用户总是可以播放音乐。
【讨论】:
您在 Ogg 中的 Vorbis 语法接近正确,请务必使用 codecs,复数:
audio/ogg; codecs=vorbis
浏览器不支持 Ogg 中的 PCM 和 MP3。但是,WAV 支持 PCM,为此您可以使用:
audio/wav; codecs=1
(常数1、WAVE_FORMAT_PCM见RFC2361的附录A。)
对于普通的 MPEG 第 3 层音频,除了比特流本身之外没有真正的容器,所以只需使用:
audio/mpeg
最后,正如其他人所提到的,您不需要明确指定编解码器。指定文件类型就足够了。但是,如果您已经知道编解码器,那么指定它有助于高效加载和减少探测。
【讨论】: