Модуляция параметров Web Audio API не работает в Safari

Я пытаюсь модулировать фильтр с выходом другого узла, и у меня возникают проблемы с его работой в 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.

Есть ли здесь фундаментальная проблема с поддержкой браузера или есть что-то очевидное, что я упускаю?


person andrewmalone    schedule 30.05.2013    source источник


Ответы (1)


Да, это была ошибка, которая с тех пор была исправлена, но пока не распространена в Safari Webkit. (Я считаю, что это будет работать на ночных сборках.)

person cwilso    schedule 02.06.2013
comment
Большое спасибо за информацию. Это сводило меня с ума! - person andrewmalone; 05.06.2013