我知道如果HTML5音频播放可用,请检查Javascript。但是我如何专门检查MP3音频播放是否可用,因为IE9和Chrome支持它,而Firefox和Opera则不支持。
答案 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是一个用于特征检测的库。您可以使用它为您完成工作。
如果检测到音频支持,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
)