FF 可以播放 mp3,但不能使用 javascript Audio API
Posted
技术标签:
【中文标题】FF 可以播放 mp3,但不能使用 javascript Audio API【英文标题】:FF can play mp3, but not using the javascript Audio API 【发布时间】:2013-09-16 18:54:05 【问题描述】:我有这个播放 mp3 文件的 javascript 音频播放器。在 FF v23.0.1 (Mac) 上它不起作用(原因解释为 everywhere 和 here) 我不明白的是,如果我将 URL 直接指向 mp3 文件,FF 会显示它自己的播放器并且歌曲播放得很好。但是当使用 javascript Audio API 时
var audio = new Audio('/my-song.mp3') ; // --> HTTP “Content-Type” van “audio/mpeg” not supported
audio.autoplay = true ;
它不起作用。有人可以向我解释这是为什么吗?
谢谢
【问题讨论】:
贴一些代码,或者它没有发生。请注意,您必须 a) 使用正确的 MIME 类型,并且 b) 必须遵循相同的来源或实施 CORS。 上面的代码给了我FF中的错误。源文件和 mp3 来自同一个域 (localhost)。响应标头指出 Content-Type 是“audio/mpeg”。我认为这是正确的 而您实际上是通过设置autoplay
属性和/或在接收到canplay
事件时调用.play()
来开始游戏的?另外“给我错误”是什么意思?错误信息是什么?
PS:new Audio()
实际上只会创建一个 htmlAudioElement
aka。 <audio>
。您可以将其用作任何其他 DOM 元素。
你有它,那么。您构建的实际上似乎还不支持 MP3 ;) 直接浏览 .mp3 时显示的播放器可能只是一些处理 Content-Type 的插件,例如 QuickTime、VLC 等...不过,在 <audio>
元素中使用它。
【参考方案1】:
错误是(请注意,我已将其翻译成英文):HTTP “Content-Type” of “audio/mpeg” is not supported。
您的 Firefox 版本似乎还不支持 MP3。
直接浏览.mp3
时显示的播放器可能只是一些处理Content-Type的插件,例如QuickTime、VLC等...在<audio>
中使用该文件时不会飞不过元素。
请参阅"Media formats supported..." 文章,了解有关平台上的 Firefox 版本支持哪些编解码器的信息。
【讨论】:
以上是关于FF 可以播放 mp3,但不能使用 javascript Audio API的主要内容,如果未能解决你的问题,请参考以下文章