Я пытаюсь создать узел анализатора, чтобы получать сигнал с микрофона и иметь возможность создавать графику с полученным входом. Но я не хочу, чтобы динамики все еще получали сигнал микрофона.
Источник (микрофон) -> Анализатор -> Назначение(?)
Пунктом назначения всегда являются динамики... Могу ли я поставить пункт назначения в пустоту или что-то подобное и при этом иметь возможность анализировать микрофон?
Я пытался поиграть с Volumne (узел усиления), но в конце концов это влияет на анализатор.
Подводя итог: мне нужно иметь возможность анализировать входной сигнал с микрофона, но отключать этот сигнал на динамиках.
РЕДАКТИРОВАТЬ: Вот что я делаю.
analyser = context.createAnalyser();
analyser.smoothingTimeConstant = 0.4;
analyser.fftSize = 64;
microphone.connect(analyser)
analyser.connect(context.destination);
Это работает нормально ... но я получаю звук в динамиках. Если я спрошу, например:
var data = new Uint8Array(analyzer.frequencyBinCount);
analyzer.getByteFrequencyData(data)
Тогда данные будут содержать ответ с микрофона.
Но если я добавлю усиление после этого
volume.gain.value = 0;
microphone.connect(analyser)
analyser.connect(volume);
volume.connect(context.destination);
или я не подключаюсь к context.destination, тогда в массиве данных будут все 0 (нет ответа с микрофона)