如何检查浏览器是否支持新音频?

时间:2015-05-10 13:08:25

标签: javascript html5-audio audioformat

在safari 5中,不支持新的音频,因此错误控制台显示:

TypeError : 'undefined' is not a constructor (evaluating 'new Audio')

我怎么能以编程方式知道浏览器是否支持新的音频?

2 个答案:

答案 0 :(得分:2)

我想你可能会尝试一下......

var createAudio = function() {
 try {
    return new Audio(); 
 } catch(e) {
    return false;
 }
};
var audio = createAudio();
if(audio) {
  // start playing... or check formats etc.
}

如果存在异常,则Audio类不存在并返回false。

有关更详细的解决方案,请查看Modernzr库:http://modernizr.com/docs/#audio

相关解决方案在Detecting html5 audio support with Modernizr

答案 1 :(得分:0)

有多种解决方案来检查其是否存在。

检查Audio的类型不是“未定义”。

if (typeof window.Audio !== "undefined")

检查window是否具有属性Audio

if ("Audio" in window)

下面的可以生成错误。

if (window.Audio)

但是,此代码不能保证它是一个好的Audio实现。可能只是一些随机脚本在执行此操作:window.Audio = 'http://link.to/some/mp3'