// This is "processor.js" file, evaluated in AudioWorkletGlobalScope upon // audioWorklet.addModule() call in the main global scope. class MyWorkletProcessor extends AudioWorkletProcessor { constructor() { super(); } process(inputs, outputs, parameters) { const input = inputs[0][0]; // console.log(inputs); // 这里的操作应该是 input 的所有声道都复制过去,然后 port 通知一下 // const output = []; // Make sure output array can be assigned to // for (let channel = 0; channel < input.length; channel += 1) { // output[channel] = input[channel]; // } // 设置 output 里面的声道将会让系统播放出处理的声音 // 默认情况下,每个输出通道都由零填充 — 除非修改输出数组,否则处理器将输出静音。 // const outputt = outputs[0]; // for (let channel = 0; channel < outputt.length; ++channel) { // outputt[channel].set(input[channel]); // } this.port.postMessage(input); return true; } } registerProcessor('my-worklet-processor', MyWorkletProcessor); console.log('processor loaded');