25 lines
597 B
JavaScript
25 lines
597 B
JavaScript
// audio-worklet-processor.js
|
|
class AudioProcessor extends AudioWorkletProcessor {
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
process(inputs, outputs, parameters) {
|
|
const input = inputs[0]; // 获取音频输入数据
|
|
const output = outputs[0]; // 音频输出数据
|
|
|
|
// 获取第一个声道的音频数据
|
|
const inputData = input[0];
|
|
|
|
// 发送音频数据到主线程
|
|
this.port.postMessage(inputData);
|
|
|
|
// 直接把音频数据传递到输出
|
|
output[0].set(inputData);
|
|
|
|
return true; // 保持音频流
|
|
}
|
|
}
|
|
|
|
registerProcessor('audio-processor', AudioProcessor);
|