根据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
,但error
是null
。
答案 0 :(得分:5)
在BrowserStack上通过不同的操作系统和Opera版本配置运行this JSFiddle后,考虑到从Presto到WebKit的切换,我提出了以下兼容性信息。
列出了列表项,版本号,.canPlayType('audio/mpeg;')
返回值以及播放音频文件的实际成功/失败。
"probably"
,成功""
,失败"probably"
,失败""
,失败""
,失败"probably"
,成功""
,失败""
,失败""
,失败 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。