我正在尝试使用另一个节点的输出来调制过滤器,并且无法使其在 Safari (6.0.4) 中工作。
这是一个简化的代码片段:
context = new webkitAudioContext();
osc1 = context.createOscillator();
osc2 = context.createOscillator();
osc2.frequency.value = 2;
osc2.noteOn(0);
filter = context.createBiquadFilter();
filter.frequency.value = 100;
amp = context.createGainNode();
amp.gain.value = 100;
osc2.connect(amp);
amp.connect(filter.frequency);
osc1.connect(filter);
filter.connect(context.destination);
osc1.noteOn(0);
osc1.noteOff(2);
我用相同的代码在 jsFiddle 上设置了一个示例:http: //jsfiddle.net/p7EC6/
这完全符合我在 Chrome 中的要求 - 你可以听到滤波器频率的脉冲。在 Safari 中,没有任何反应。有趣的是,如果我将 amp 输出连接到 osc1 like 的参数amp.connect(osc1.detune)
,它确实可以在 Safari 中使用。
这里是否存在基本的浏览器支持问题,或者我是否缺少明显的东西?