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 |
|---|---|---|---|
|
| 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 |
|---|---|---|---|
|
| No | Wait timeout in seconds; omit or |
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.