mime-chat/public/worklet/audioProcessor.ts
Enrique Hernandez 5872d245f0 add audio worklet
2021-07-07 07:11:23 -05:00

33 lines
876 B
TypeScript

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)