Нет изменений в объеме вывода с помощью createGain
Я хочу контролировать громкость входящего аудиопотока webRTC. Код выглядит так:
...
audioContext=new AudioContext;
gainFilter=audioContext.createGain(),
jsnode=audioContext.createScriptProcessor(512,1,1); // used for VU-Meter
source=audioContext.createMediaStreamSource(stream);
source.connect(gainFilter);
gainFilter.connect(jsnode);
jsnode.connect(audioContext.destination);
...
// when volume slider is moved
gainFilter.gain.value=volume;
...
Основная идея работает: я слышу звук, я вижу в своем VU-метре, что на громкость сигнала влияет фейдер, который определяет настройку gainFilters. Но выходной сигнал, который я слышу через динамики, никогда не меняется по громкости.
Я не понимаю, что не так: это влияет на аудиоданные, видимые процессором сценария. Когда я перемещаю фейдер на самый низкий уровень громкости, громкость звука правильно показывает отсутствие пика. Тем не менее, я слышу звук.