35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
// 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');
|