Я пытаюсь модулировать фильтр с выходом другого узла, и у меня возникают проблемы с его работой в 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 — вы можете услышать пульсацию частоты фильтра. В Сафари ничего не происходит. Интересно, что если я подключаю выход усилителя к параметру osc1, например amp.connect(osc1.detune)
, он работает в Safari.
Есть ли здесь фундаментальная проблема с поддержкой браузера или есть что-то очевидное, что я упускаю?