Skip to content

AudioStream

Streaming audio player for real-time audio playback Used for continuous audio streams like OpenAI Realtime API

Buffers up to 30 seconds of audio internally. For longer responses, playback drains the buffer as new audio arrives.

Properties

isDrained

  • Type: boolean
  • Whether the audio buffer has finished playing Use this to wait for playback to complete before resuming microphone

Example:

javascript
function waitForPlayback() {
    if (!stream.isDrained) {
        setTimeout(waitForPlayback, 100);
    } else {
        scene.microphone.start();
    }
}

Methods

append()

javascript
append(base64: string): void

Append base64-encoded audio data to the stream buffer

Example:

javascript
ws.onmessage = function(event) {
    var msg = JSON.parse(event.data);
    if (msg.type === 'response.audio.delta') {
        stream.append(msg.delta);
    }
};

Parameters:

  • base64 (string) - Base64-encoded PCM16 audio data

Returns: void

stop()

javascript
stop(): void

Stop playback and release resources

Example:

javascript
stream.stop();

Returns: void