HTML5音频在Firefox中无法播放MP3

3

我有这个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>

我已经设置了一个简单的例子(这里),它包括简单的媒体播放器(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的Firefox(Chrome,Safari,Firefox),Ubuntu 14.04(Chrome,Firefox)和Windows 10(Chrome Firefox)上进行了测试,在所有实例中,Firefox都无法播放音频,而其他浏览器可以。

编辑:

针对评论,当我点击直接到mp3的链接时,在Firefox中可以正常播放。该问题仅出现在html标签中。


“could not be decoded” 看起来很明显。您尝试过不同的MP3吗?您知道这个MP3是如何编码的,使用了什么程序/设置吗? - Pekka
尝试访问 https://support.mozilla.org/en-US/questions/999164。 - Dhara
Firefox MP3 播放取决于平台解码器 - 也许需要检查这些解码器是否在您的操作系统上可用 https://support.mozilla.org/zh-CN/kb/fix-common-audio-and-video-issues#w_html5-audio-and-video - Peter Campbell
所涉及的音频文件不是MP3文件,而是WAVE文件容器文件,似乎嵌入了MP3编码数据。 - user1693593
K3N,你的评论让我进行了测试,并得出了我发布的答案。如果你发表了答案,我很乐意删除我的答案。我是stackoverflow上的新手:不知道礼仪。 - JLM
1个回答

0

K3N在他的评论中正确地提出了问题:“所涉及的音频文件不是MP3文件,而是WAVE文件容器文件,其中似乎嵌入了MP3编码数据”。

我通过对所涉及的.mp3文件执行avconv -i <filename>进行确认。然后,我使用avconv -i <filename> -ar 11025 <new-filename>重新编码文件,并创建了一个新的测试链接here,在Firefox中正确播放.mp3文件。

(上述两个avconv操作也可以使用ffmpeg执行。)

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

注:经过进一步调查,采样率(11025 Hz)并不是问题。我的测试掩盖了K3N提出的问题,即通过正确重新打包.mp3来解决问题。


在等待K3N的回复一段时间后,我接受了自己的答案。 - JLM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接