Skip to content

createMediaStreamProcessor

createMediaStreamProcessor(mediaStream, options?): any

Defined in: packages/pleco-xa/src/scripts/xa-fileio.js:392

Create a real-time audio stream processor for live input

Sets up a MediaStream source (microphone, etc.) with real-time block processing using AudioWorklet or ScriptProcessorNode.

MediaStream

MediaStream from getUserMedia or other source

Processing options

AudioContext

Audio context (default: new AudioContext())

number

Processing block size (default: 2048)

boolean

Convert to mono (default: true)

Function

Callback for each audio block (required)

any

Stream controller with start(), stop(), and context properties

// Real-time microphone analysis
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const processor = createMediaStreamProcessor(stream, {
blockLength: 2048,
onBlock: (audioBlock) => {
// Real-time feature extraction
const rms = Math.sqrt(audioBlock.reduce((sum, x) => sum + x * x, 0) / audioBlock.length);
console.log('RMS level:', rms);
}
});
processor.start();
// ... later ...
processor.stop();