如何检测HTML5音频MP3支持?

时间:2011-12-12 01:57:20

标签: html5 html5-audio browser-feature-detection

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

3 个答案:

答案 0 :(得分:61)

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

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

我从this page获得了上述代码。

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

答案 1 :(得分:4)

Modernizr是一个用于特征检测的库。您可以使用它为您完成工作。

根据documentation

  

如果检测到音频支持,Modernizr会评估当前浏览器将播放的格式。目前,Modernizr测试ogg,mp3,wav和m4a。

     

重要提示:这些属性的值不是真正的布尔值。相反,Modernizr匹配HTML5规范,返回一个字符串,表示浏览器可以处理该编解码器的置信度。这些返回值是空字符串(否定响应),“可能”和“可能”。空字符串是假的,换句话说:Modernizr.audio.ogg ==''和''== false

答案 2 :(得分:3)

var test_audio= document.createElement("audio") //try and create sample audio element 
var test_video= document.createElement("video") //try and create sample video element
var mediasupport={audio: (test_audio.play)? true : false, video: (test_video.play)? true :     false}

alert("Audio Element support: " + mediasupport.audio + "\n"
+ "Video Element support: " + mediasupport.video
)