【问题标题】:Why is firefox able to read m4a/aac file but not if embedded with HTML5?为什么 Firefox 能够读取 m4a/aac 文件,但如果嵌入 HTML5 则不能?
【发布时间】:2014-05-14 03:04:37
【问题描述】:

我知道 Firefox 因许可问题决定不支持 AAC,但为什么可以直接在 Firefox 中读取 m4a 文件? (我用的是28.0

以这个文件为例:

http://www.jplayer.org/audio/m4a/TSP-01-Cro_magnon_man.m4a

(ffmpeg: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s)

预计它不适用于:

<audio controls>
   <source src="http://www.jplayer.org/audio/m4a/TSP-01-Cro_magnon_man.m4a">
</audio>

【问题讨论】:

  • 因为即使不支持 AAC 编解码器,您仍然可以从文件中读取元数据,例如位+采样率。例如您可以在商店橱窗中查看产品,即使您买不起。
  • 我不仅可以读取元数据,我还可以读取音频......你不能吗?

标签: html firefox aac m4a


【解决方案1】:

上面的嵌入代码在 Windows 7 上的 Firefox 28 中运行良好。

我的理解是,虽然 Firefox 不支持软件内部的 MP4 H.264 AAC(以避免许可问题),但它会自动将其外包给操作系统媒体功能(而不是要求插件),依赖于外部软件处理许可问题(至少在 Windows 上;Linux 看起来仍然需要一个插件(?)https://www.mozilla.org/en-US/firefox/26.0/releasenotes/)。

如果您在升级到 Firefox 28 后在线(但不是本地)处理 m4a 文件时遇到问题,我遇到了同样的问题,结果证明是 MIME 类型;我们默认的“audio/mpeg”似乎适用于 Firefox 27,但 28 需要“audio/mp4 m4a”或报告文件损坏。不知道为什么这会影响上述内容;您可以尝试将类型放入源标签中,看看是否有帮助。 https://developer.mozilla.org/en-US/docs/HTML/Supported_media_formats

【讨论】:

  • 感谢您的帮助!现在更清楚了......它确实适用于具有正确 MIME 类型的 Windows,但它在 OSX 中不起作用(不支持“audio/mp4 m4a”的“指定的“type”属性”)。这两种不同的行为(直接 mp4 文件 VS HTML5 嵌入式 mp4 文件)一直让我感到困惑。 :)