html5 音频 mp3 在 Firefox 中不起作用

Posted

技术标签:

【中文标题】html5 音频 mp3 在 Firefox 中不起作用【英文标题】:html5 audio mp3 not working in firefox 【发布时间】:2016-04-26 11:41:04 【问题描述】:

我有这个jsFiddle,它在 Chrome 和 Safari 中完美运行,但在 Firefox 中无法运行。示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>Simple Media Player</title>
    <style>
        body, div  margin: 0; 
    </style>
</head>
<body>
    <audio preload="auto" controls autoplay>
       <source src="http://dev-audio-test.s3-website-us-east-1.amazonaws.com/08xCf21_niXjQmGmanVUrR0Tk2h2mKSMw_sxg03CrycaxhNiqhX9_NFYhHBw7eJcp_ru52kdQRW88YigtmTE0w==.mp3" type="audio/mpeg" />
    </audio>
</body>
</html>

我已经设置了一个简单的例子来说明什么不工作here 它由简单的媒体播放器 (index.html) 和上面代码示例中命名的单个 mp3 组成。

在 Firefox 中测试时音频控件出现然后消失,并且在开发者工具控制台中显示以下消息:

13:33:01.217 Media resource http://dev-audio-test.s3-website-us-east-1.amazonaws.com/08xCf21_niXjQmGmanVUrR0Tk2h2mKSMw_sxg03CrycaxhNiqhX9_NFYhHBw7eJcp_ru52kdQRW88YigtmTE0w==.mp3 could not be decoded.1 dev-audio-test.s3-website-us-east-1.amazonaws.com

我已经在 OS X 10.11.4(Chrome、Safari、Firefox)、Ubuntu 14.04(Chrome、Firefox)和 Windows 10(Chrome Firefox)上的 Firefox 中测试了这一点,Firefox 不播放音频,而其他浏览器做。

编辑:

响应 cmets,当我直接单击 link 到 mp3 时,它在 Firefox 中播放良好。该问题仅出现在 html 标记中。

【问题讨论】:

“无法解码”似乎很清楚。你试过不同的MP3吗?你知道 MP3 是如何编码的,使用什么程序/什么设置? 试试support.mozilla.org/en-US/questions/999164 Firefox MP3 播放取决于平台解码器 - 也许检查这些在您的操作系统上可用 support.mozilla.org/en-US/kb/… 有问题的音频文件不是 MP3 文件,而是 WAVE 文件容器文件,它似乎嵌入了 MP3 编码数据。 K3N,您的评论让我接受了测试,并导致了我发布的答案。如果您发布一个答案,我很乐意删除我的答案。我是 *** 的菜鸟:不懂礼仪。 【参考方案1】:

K3N 在他的评论“有问题的音频文件不是 MP3 文件,而是似乎嵌入 MP3 编码数据的 WAVE 文件容器文件”中正确地提出了问题。 我通过在有问题的 .mp3 上执行 avconv -i &lt;filename&gt; 确认了这一点。然后我使用avconv -i &lt;filename&gt; -ar 11025 &lt;new-filename&gt; 重新编码文件并创建了一个新的测试链接here,它可以在Firefox 中正确播放.mp3 文件。

(上面的avconv 操作都可以使用ffmpeg 执行。)

我已经在 OS X 10.11.4、Ubuntu 14.04 和 Windows 10 上的 Firefox 中对此进行了测试,所有情况下 Firefox 都会播放新的重新打包文件。

注意。经过进一步调查,采样率(11025 Hz)不是问题。我在那里的测试掩盖了 K3N 通过正确重新打包 .mp3 引起的问题

【讨论】:

在等待 K3N 的回复后,我接受了自己的答案。

以上是关于html5 音频 mp3 在 Firefox 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

适合所有人的 html5 音频,Firefox 除外

html5 音频播放器 flash 后备

在 div 中播放音频

跨浏览器的 HTML 5 音频不兼容怎么办?

Firefox 中音频标签中的 MP3

将 mp3 从服务器流式传输到 html5 音频时传递持续时间