6

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

我知道 ogg 是:

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

有人知道我会为 mp3 和 wav 写什么吗?

4

3 回答 3

5

<source type="">关键字的最佳参考不是IANA 媒体类型注册表,您可能会想,而是developer.mozilla.org 的“HTML 音频和视频的媒体格式”文章,它记录了浏览器(不仅仅是 Firefox)实际实现的内容,而不是什么RFC 说应该会发生。(例如,.WAV 文件没有正式的 MIME 类型。)

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

  • 奥格:<source type="audio/ogg">
  • MP3:<source type="audio/mpeg">
  • WAV:(<source type="audio/wav">令人讨厌的是,audio/wave它同时是“首选”和“不适用于 Chrome”,非常感谢 Google)。

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

于 2010-07-29T03:09:13.393 回答
1

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

于 2010-07-29T15:25:50.697 回答
0

您在 Ogg 中的 Vorbis 语法接近正确,请务必使用codecs, 复数:

audio/ogg; codecs=vorbis

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

audio/wav; codecs=1

(对于常数1, ,请参阅RFC2361WAVE_FORMAT_PCM的附录 A。)

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

audio/mpeg

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

于 2019-04-25T16:58:46.817 回答