Skip to main content

AudioPlaybackStreamHandle

Represents a writable PCM playback stream handle returned by audio_manager.play_stream(). AudioPlaybackStreamHandle cannot be directly constructed.

write​

Signature:

AudioPlaybackStreamHandle.write(audio: AudioData) -> None

Description:

Append an AudioData chunk with consistent format; the format (sample_rate / channels / sample_format) must match the format when the stream was opened.

Parameters:

Parameter

Type

Required

Description

audio

AudioData

Yes

Audio data to append, format must match the stream

Returns:

None.

Raises:

RuntimeError: Stream is closed or write failed.

close​

Signature:

AudioPlaybackStreamHandle.close() -> None

Description:

Finish writing; written audio will continue playing until completion. Repeated calls are idempotent.

Parameters:

No parameters.

Returns:

None.

Raises:

None.

is_playing​

Signature:

AudioPlaybackStreamHandle.is_playing() -> bool

Description:

Query whether audio is currently playing.

Parameters:

No parameters.

Returns:

bool, True indicates playing.

Raises:

None.

has_pending_audio​

Signature:

AudioPlaybackStreamHandle.has_pending_audio() -> bool

Description:

Query whether there is still pending audio data in the queue.

Parameters:

No parameters.

Returns:

bool, True indicates the queue is non-empty.

Raises:

None.

wait​

Signature:

AudioPlaybackStreamHandle.wait(timeout: float | None = None) -> TaskStatus

Description:

Block and wait for the playback task to enter a final state; returns current status on timeout.

Parameters:

Parameter

Type

Required

Description

timeout

float | None

No

Wait timeout in seconds; omit or None for infinite wait

Returns:

TaskStatus, see "Tasks and Subscriptions / TaskStatus"

Raises:

None.

cancel​

Signature:

AudioPlaybackStreamHandle.cancel() -> bool

Description:

Request to cancel the playback task, immediately stop playback and clear the queue.

Parameters:

No parameters.

Returns:

bool, whether the cancellation request was successfully submitted.

Raises:

None.