The Media Playback cluster (0x0506) is a Matter cluster that Controls media playback including play, pause, seek, and playback speed.. It defines 15 commands and 11 attributes and is mandatory for 5 device types.
Media Playback 0x0506
Controls media playback including play, pause, seek, and playback speed.
Spec History
This cluster's ClusterRevision across the Matter releases it has shipped in. Click a version to inspect the cluster as it existed in that release.
Attributes 11
Commands 15
Features 5
| Code | Name | Type | Flags |
|---|---|---|---|
| 0x0000 |
CurrentState
0x00..0x03
|
PlaybackStateEnum | |
| 0x0001 |
StartTime
nullable
|
epoch_us | Optional |
| 0x0002 |
Duration
nullable
|
int64u | Optional |
| 0x0003 |
SampledPosition
nullable
|
PlaybackPositionStruct | Optional |
| 0x0004 |
PlaybackSpeed
default 0
|
single | Optional |
| 0x0005 |
SeekRangeEnd
nullable
|
int64u | Optional |
| 0x0006 |
SeekRangeStart
nullable
|
int64u | Optional |
| 0x0007 |
ActiveAudioTrack
nullable
|
TrackStruct | Optional |
| 0x0008 |
AvailableAudioTracks
nullable
|
array | Optional |
| 0x0009 |
ActiveTextTrack
nullable
|
TrackStruct | Optional |
| 0x000A |
AvailableTextTracks
nullable
|
array | Optional |
| Code | Name | Direction | Parameters |
|---|---|---|---|
| 0x00 |
Play
Upon receipt, this SHALL play media.
|
client→server | None |
| 0x01 |
Pause
Upon receipt, this SHALL pause media.
|
client→server | None |
| 0x02 |
Stop
Upon receipt, this SHALL stop media. User experience is context-specific. This will often navigate the user back to the location where media was originally launched.
|
client→server | None |
| 0x03 |
StartOver
Optional Upon receipt, this SHALL Start Over with the current media playback item.
|
client→server | None |
| 0x04 |
Previous
Optional Upon receipt, this SHALL cause the handler to be invoked for "Previous". User experience is context-specific. This will often Go back to the previous media playback item.
|
client→server | None |
| 0x05 |
Next
Optional Upon receipt, this SHALL cause the handler to be invoked for "Next". User experience is context-specific. This will often Go forward to the next media playback item.
|
client→server | None |
| 0x06 |
Rewind
Optional Upon receipt, this SHALL Rewind through media. Different Rewind speeds can be used on the TV based upon the number of sequential calls to this function. This is to avoid needing to define every speed now (multiple fast, slow motion, etc).
|
client→server |
AudioAdvanceUnmuted: boolean |
| 0x07 |
FastForward
Optional Upon receipt, this SHALL Advance through media. Different FF speeds can be used on the TV based upon the number of sequential calls to this function. This is to avoid needing to define every speed now (multiple fast, slow motion, etc).
|
client→server |
AudioAdvanceUnmuted: boolean |
| 0x08 |
SkipForward
Optional Upon receipt, this SHALL Skip forward in the media by the given number of seconds, using the data as follows:
|
client→server |
DeltaPositionMilliseconds: int64u |
| 0x09 |
SkipBackward
Optional Upon receipt, this SHALL Skip backward in the media by the given number of seconds, using the data as follows:
|
client→server |
DeltaPositionMilliseconds: int64u |
| 0x0A |
PlaybackResponse
This command SHALL be generated in response to various Playback Request commands.
|
server→client |
Status: StatusEnum, Data: char_string |
| 0x0B |
Seek
Optional Upon receipt, this SHALL Skip backward in the media by the given number of seconds, using the data as follows:
|
client→server |
position: int64u |
| 0x0C |
ActivateAudioTrack
Optional Upon receipt, the server SHALL set the active Audio Track to the one identified by the TrackID in the Track catalog for the streaming media. If the TrackID does not exist in the Track catalog, OR does not correspond to the streaming media OR no media is being streamed at the time of receipt of this command, the server will return an error status of INVALID_ARGUMENT.
|
client→server |
TrackID: CHAR_STRING, AudioOutputIndex: INT8U |
| 0x0D |
ActivateTextTrack
Optional Upon receipt, the server SHALL set the active Text Track to the one identified by the TrackID in the Track catalog for the streaming media. If the TrackID does not exist in the Track catalog, OR does not correspond to the streaming media OR no media is being streamed at the time of receipt of this command, the server SHALL return an error status of INVALID_ARGUMENT.
|
client→server |
TrackID: CHAR_STRING |
| 0x0E |
DeactivateTextTrack
Optional If a Text Track is active (i.e. being displayed), upon receipt of this command, the server SHALL stop displaying it.
|
client→server | None |
AdvancedSeek
(AS)
bit 0
Advanced media seeking
VariableSpeed
(VS)
bit 1
Variable speed playback
TextTracks
(TT)
bit 2
Text Tracks
AudioTracks
(AT)
bit 3
Audio Tracks
AudioAdvance
(AA)
bit 4
Can play audio during fast and slow playback speeds
Device Types Using This Cluster
Device types in the Matter spec that reference this cluster
Devices Implementing This Cluster
5 devices in the survey implement this cluster