Opera支持音频mp3文件吗?

时间:2015-01-30 13:59:40

标签: html5 opera html5-audio

根据caniuse网站,Opera支持audio标记。根据{{​​3}},Opera也支持mp3。但是w3schools不起作用。如果ogg部分被移除,即使来自w3schools的this code也不起作用 -

<audio controls>
  <source src="horse.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

我通过Spoon.net在Windows 7 64位(WoW64)上运行的Opera 20.0.1387.77进行了测试。并且,如果不支持,那么我应该如何捕获错误并通知用户?我尝试使用$("#audio").error.code,但errornull

3 个答案:

答案 0 :(得分:5)

测试:

在BrowserStack上通过不同的操作系统和Opera版本配置运行this JSFiddle后,考虑到从Presto到WebKit的切换,我提出了以下兼容性信息。


Opera MP3兼容性:

列出了列表项,版本号,.canPlayType('audio/mpeg;')返回值以及播放音频文件的实际成功/失败。

Windows 8和8.1:

  • 25-27: "probably",成功
  • Opera&lt; = 24: "",失败

Windows 7:

  • Opera 27: "probably",失败
  • Opera&lt; = 26: "",失败

Windows XP:

  • Opera&lt; = 27: "",失败

OS X 10.10和10.9:

  • 歌剧26-27: "probably",成功
  • Opera&lt; = 25: "",失败

OS X 10.8和10.7:

  • Opera&lt; = 27: "",失败

OS X 10.6:

  • Opera&lt; = 25: "",失败

Windows 7上的Opera 27返回"probably"但未能播放是相当不幸的。


结论:

根据这些信息,似乎Opera本身并不包含解码MP3音频文件的必要代码,并且只有在主机操作系统提供兼容库时才能这样做。 Opera用户可能拥有播放MP3所需的库,但无法保证。

答案 1 :(得分:2)

当Opera转而使用Webkit作为渲染引擎时,他们放弃了本机mp3(和H.264)支持,请参阅此博文:https://dev.opera.com/blog/300-million-users-and-move-to-webkit/ - 有关W3Schools的信息已过时且可能来自前-webkit天(PSA:永远不会访问W3Schools)。

要查看您可以播放的音频类型,可以使用canPlayType方法,如下所示:

var a = document.createElement('audio');
return !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));

来源:http://diveintohtml5.info/everything.html

有许多其他方法可以进行此类检测,您可以在此问题上看到:How to detect HTML5 audio MP3 support

编辑:这可能是一个版本问题 - 具体信息相当薄,但我刚刚安装了最新版本的Opera(27,OSX),我可以很好地播放Mp3。

答案 2 :(得分:1)

Opera至少做广告支持mp3,canPlayType(&#34; audio / mpeg&#34;)返回&#34;可能&#34;来自Bulk的上述脚本确实返回true,但实际上它并不支持它(它默默地失败)。这是一个全新的Windows 7安装,没有任何编解码器包和最新的Opera。