如何检测HTML5音频MP3支持

foo*_*oty 35 html5 html5-audio browser-feature-detection

我知道如果HTML5音频播放可用,如何签入Javascript.但是我如何专门检查MP3音频播放是否可用,因为IE9和Chrome支持它,而Firefox和Opera则不支持.

key*_*rdP 61

您可以检查用户代理并查看正在使用的浏览器,或者您可以使用Javascript测试支持.

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

我从这个页面得到了上面的代码.

return !!(a.canPlayType)更好,因为(某些最新版本)Firefox不支持mp3而a.canPlayType('audio/mpeg;')将为false

  • @hRvoed - 这是一种投射到博尔的方式http://stackoverflow.com/questions/784929/what-is-the-not-not-operator-in-javascript.`!`是NOT运算符.这会将评估转换为bool但我们现在有了评估的反转,所以你添加另一个`!`将它反转回它应该的值(但作为一种bool) (2认同)