add audio worklet
This commit is contained in:
parent
21687f4b7f
commit
5872d245f0
15 changed files with 347 additions and 117 deletions
33
public/worklet/audioProcessor.ts
Normal file
33
public/worklet/audioProcessor.ts
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
interface AudioWorkletProcessor {
|
||||
readonly port: MessagePort;
|
||||
process(
|
||||
inputs: Float32Array[][],
|
||||
outputs: Float32Array[][],
|
||||
parameters: Record<string, Float32Array>
|
||||
): boolean;
|
||||
}
|
||||
|
||||
declare let AudioWorkletProcessor: {
|
||||
prototype: AudioWorkletProcessor;
|
||||
new (options?: AudioWorkletNodeOptions): AudioWorkletProcessor;
|
||||
};
|
||||
|
||||
declare function registerProcessor(
|
||||
name: string,
|
||||
processorCtor: (new (
|
||||
options?: AudioWorkletNodeOptions
|
||||
) => AudioWorkletProcessor) & {
|
||||
parameterDescriptors?: AudioParamDescriptor[];
|
||||
}
|
||||
): undefined;
|
||||
|
||||
class AudioProcessor extends AudioWorkletProcessor {
|
||||
process (inputs: Float32Array[][], outputs: Float32Array[][], parameters: Record<string, Float32Array>) {
|
||||
console.log(inputs);
|
||||
console.log(outputs);
|
||||
console.log(parameters);
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
registerProcessor('audio-processor', AudioProcessor)
|
||||
Loading…
Reference in a new issue