AudioWorklet
Chrome 拡張機能でを使用して、リアルタイムでマイク入力を変更したいと思います。
簡単な例として、この 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];
残念ながら、それはマイクを変更しません。マイクの音声を再生しただけでは、オシレーターが聞こえません