AudioWorklet изменить вход микрофона
Я хотел бы изменить вход микрофона в реальном времени с помощью AudioWorklet
в хромированном расширении.
В качестве простого примера я просто хочу передать волну генератора, как в этом PLNKR, где одна передается наoutput
.
Сначала я создаю рабочий лист:
await audioCtx.audioWorklet.addModule(WORKLET_PATH);
this.worklet = new AudioWorkletNode(audioCtx, 'oscillator');
this.worklet.connect(audioCtx.destination);
Затем подключаю микрофон:
this.microphoneStream = await navigator.mediaDevices.getUserMedia({audio: true});
this.microphone = audioCtx.createMediaStreamSource(this.microphoneStream);
console.log('microphone', this.microphone.mediaStream.getTracks()[0].label);
this.microphone.connect(this.worklet as AudioWorkletNode);
И в примере plnkr в processor.js
, вместо изменения вывода я изменяю ввод, устанавливая строку 15 следующим образом:
const output = inputs[0];
Но, к сожалению, это не меняет микрофон. Если я просто воспроизводю звук с микрофона, я не слышу генератор