如何确定在 Safari 中使用哪个 AudioContext 构造函数?

How do I determine which AudioContext constructor to use in Safari?

我正在使用 HTML5 网络音频 API,我正在尝试通过

动态确定要使用的 AudioContext 构造函数
var constructor = AudioContext || webkitAudioContext;
var context = new constructor();

但是,对于这段代码,Safari 打趣道:

ReferenceError: Can't find variable: AudioContext

首先,我什至不知道 javascript 中存在 ReferenceError,因为默认情况下未定义的变量采用 undefined 值。 Safari 的 javascript 实现显然与 Chrome 的实现有很大不同,尽管两者都使用 webkit 引擎 ...

如何确定使用哪个构造函数而不触发此错误?

试试 window.AudioContext。