音频标签在Firefox和Opera中无法工作

3

我正在尝试创建自己的音频播放器。我已经在Google Chrome中检查过,一切运作良好。但是当我尝试在Firefox和Opera(最新版本)中使用它时,却无法正常工作。例如我有:

<!DOCTYPE html>
<head>
</head>
<body>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <div id="play">click me</div>
    <audio class="tr_audio">
       <source src="ogg/track1.ogg" type="audio/ogg; codecs='vorbis'">
       <source src="track1.mp3" type="audio/mpeg; codecs='mp3'">
    </audio>
    <script>
        $("#play").click(function() {
            $("audio").get(0).play();
            alert($("audio").get(0));
        });
    </script>
</body>

在Chrome中它能正常工作,但在Opera和Firefox中不能工作。为什么?


你能正常播放你的ogg文件吗?(即不在浏览器中播放?) - Bruno Vieira
1
Opera和FF使用ogg文件。您确定ogg文件的路径正确吗?您的服务器MIME类型是否正确设置为ogg文件?您有网页上的示例吗? - TimHayes
是的,文件在不使用浏览器时可以正常播放,路径也正确。而且如果我使用 Opera 或 FF(通过右键单击文件)启动这些 ogg 文件,它们也可以正常播放。TimHayes,我是从我的电脑上测试的。 - MonkeyShoulder
你在Opera中解决过这个问题吗?我也遇到了同样的问题,但还没有找到解决方案(只有在Opera中出现问题,其他浏览器都能正常工作)。 - MC9000
3个回答

2
使用您的代码并在Firefox中测试后,明确问题是编解码器。以下行是从Firefox控制台日志中复制的:

[10:20:19.068] 指定的“type”属性“audio/ogg; codecs ='vorbis'”不受支持。 Example.ogg媒体资源加载失败。 @ http://example.com/

[10:20:19.068] 指定的“type”属性“audio/mpeg; codecs ='mp3'”不受支持。 Example.mp3媒体资源加载失败。 @ http://example.com/

然后,从“type”属性中删除codecs规范使其在Firefox、Safari和Opera中工作。
<audio class="tr_audio">
   <source src="ogg/track1.ogg" type="audio/ogg">
   <source src="track1.mp3" type="audio/mpeg">
</audio>

我希望你受益匪浅。干杯!

如果一个答案是正确的,请标记为正确,否则stackoverflow将永远不知道您的问题是否已解决。考虑给那些有一定帮助的答案点赞。这有助于其他有类似问题的用户更轻松地找到答案。 - Bruno Vieira

0

截至2013年万圣节,Firefox 24.0通过来自MP3源的firebug 1.12.4。

<source src="media/SoundFile.mp3" type="audio/mpeg" />

[! Yellow Warning] Specified "type" attribute of "audio/mpeg" is not supported. Load of media resource media/SoundFile.mp3 failed.

最初我尝试了各种编解码器,但它们都无法正常工作。例如,直到我删除了编解码声明,Ogg 才出现类似的错误...所以这个想法没有帮助。

我认为我只是记录了一下,即使自 Firefox 版本 21 起应该支持 MP3,但由于某些原因在这里仍然无法工作。

嗯,我应该提到这是来自本地文件,所以可能与 Win7 上缺少 MIME 类型或其他问题有关。

等等,我想现在这只是一个简单的许可问题。

所以实际上这是糟糕的错误日志记录,它应该解释许可是否是问题。


0
提醒一下,使用 FireFox 21 beta 版本的用户注意了,如果你还没有注意到,现在 MP3 音频可以在 <audio> 标签中播放,而无需编辑浏览器的 about:config。现在我们只需要它正式发布!

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