Skip to navigation

Room Playback overview

Control shared audio played into a room's mixed output.
View as Markdown

Room Playback plays audio in a room’s shared mix for every participant. Use session playback for one session.

When to use

Use Room Playback when everyone in a Room should hear the same audio, such as an announcement or prerecorded message.

Start with Play audio in room. For finite files, you can seek or pause and resume. Live streams do not support seek, pause, or resume. You can set volume or stop any playback.

For finite files, provide a non-empty urls array and the required type: "files".

Accepted commands return 202 Accepted. Every command accepts an optional lowercase UUID v4 Operation-Id header. The response returns it as operation_uuid, or generates one if omitted. Use Idempotency-Key separately for safe retries.

Each started playback produces exactly one terminal event: room.playback.ended or room.playback.failed. Its operation_uuid identifies the original play request. An API stop has a separate effective operation_uuid in its 202 Accepted response.

Each finite URL file that starts playing also emits room.playback.file.ended when it completes or playback is stopped through the API. It identifies the original urls entry with file_index and url, and arrives before the operation’s terminal event. When loop: true, completed repeats emit separate file events with the same file_index and url.