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];

Но, к сожалению, это не меняет микрофон. Если я просто воспроизводю звук с микрофона, я не слышу генератор

0 ответов

Другие вопросы по тегам