html5音频编解码器

问题描述 投票:6回答:3

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

我知道ogg是:

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

谁知道我会为mp3和wav写什么?

html xhtml audio html5 html5-audio
3个回答
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:Kazkhsvpoi
  • WAV:<source type="audio/mpeg">(令人讨厌的是,<source type="audio/wav">同时是“首选”并且“与Chrome不兼容”,非常感谢Google)。

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


1
投票

你用什么浏览器播放mp3文件?并非所有浏览器都支持通过音频标签播放mp3。请参阅:Accept:我建议根据浏览器类型制作一个选择音频类型的脚本。这样用户总是可以播放音乐。


0
投票

你在Ogg中对Vorbis的语法接近正确,只需确保使用http://dev.opera.com/articles/view/html5-audio-radio-player/,复数:

codecs

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

audio/ogg; codecs=vorbis

(对于恒定的audio/wav; codecs=1 1,请参阅WAVE_FORMAT_PCM的附录A.)

对于普通的MPEG Layer 3音频,除了比特流本身之外没有真正的容器,所以只需使用:

RFC2361

最后,正如其他人所提到的,您不需要显式指定编解码器。指定文件类型就足够了。但是,如果你已经知道它有助于指定编解码器,那么有效加载和少探测。

© www.soinside.com 2019 - 2024. All rights reserved.