org.bluez.MediaPlayer(5)
π§ org.bluez.MediaPlayer(5) β the BlueZ D-Bus MediaPlayer API, explained π
okay bestie, so this is a page from the Linux System Administration manual set, and it's all about org.bluez.MediaPlayer β the BlueZ D-Bus MediaPlayer API documentation. Think of it as the remote control energy for your Bluetooth audio/video player. Obsessed. Let's go. β¨
πΈ INTERFACE πΈ
Service π
org.bluez(Controller role)
Interface π
org.bluez.MediaPlayer1
Object path π¦
[variable prefix]/{hci0,hci1,...}/dev_{BDADDR}/player#
Used by π
π₯ METHODS π₯
void Play()
Resumes playback. it's giving "press play on the aux, the vibes are back". π
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.play [item]
void Pause()
Pauses playback. dramatic pause, literally. π
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.pause
void Stop()
Stops playback. periodt, we're done here. π
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.stop
void Next()
Skips to the next item. skip, next, slay. β
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.next
void Previous()
Goes back to the previous item. we're rewinding the timeline bestie π¦
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.previous
void FastForward()
Fast forwards playback β and heads up, this action is only stopped when another method in this interface is called. so it just keeps zooming until you do something else, no cap. π₯
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.fast-forward
void Rewind()
Rewinds playback β same deal, this action is only stopped when another method in this interface is called. it's giving throwback energy and it does not stop on its own. π
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
Examples:
bluetoothctl
> player.rewind
void Press(byte avc_key)
Presses a specific key, sent as a passthrough command. take avc_key, which is a byte.
The key gets released automatically β so if your whole intention is to hold the key down, use Hold() instead, bestie. π
Possible Errors:
org.bluez.Error.InvalidArgumentsorg.bluez.Error.NotSupportedorg.bluez.Error.Failed
void Hold(byte avc_key)
Presses and holds a specific key, sent as a passthrough command. takes avc_key, a byte.
β οΈ it is the responsibility of the caller to make sure that Release() is called after calling this method. no cap, don't leave it hanging. π
The held key will also be released when any other method in this interface is called. so it's not forever, it's just until you do literally anything else. π
Possible Errors:
org.bluez.Error.InvalidArgumentsorg.bluez.Error.NotSupportedorg.bluez.Error.Failed
void Release()
Releases the previously held key β the one you invoked using Hold(). closure, we love to see it. π«Ά
Possible Errors:
org.bluez.Error.NotSupportedorg.bluez.Error.Failed
β¨ PROPERTIES β¨
string Equalizer [readwrite]
Indicates the Player Equalizer setting.
Possible values:
"off""on"
Examples:
bluetoothctl
[player] > equalizer <on/off>
string Repeat [readwrite]
Indicates the Player Repeat setting.
Possible values:
"off""singletrack""alltracks""group"
Examples:
bluetoothctl
[player] > repeat <singletrack/alltracks/group/off>
string Shuffle [readwrite]
Indicates the Player Shuffle setting.
Possible values:
"off""alltracks""group"
Examples:
bluetoothctl
[player] > shuffle <alltracks/group/off>
string Scan [readwrite]
Indicates the Player Scan setting.
Possible values:
"off""alltracks""group"
Examples:
bluetoothctl
[player] > scan <alltracks/group/off>
string Status [readonly]
Indicates the Player Status setting.
Possible status:
"playing""stopped""paused""forward-seek""reverse-seek""error"
uint32 Position [readonly]
Playback position in milliseconds.
Changing the position may generate additional events that will be sent to the remote device. When position is 0 it means the track is starting, and when it's greater than or equal to the track's duration the track has ended. main character timeline behaviour, honestly. β±οΈ
Note that even if duration is not available in metadata, it's possible to signal its end by setting position to the maximum uint32 value. iykyk. π
dict Track [readonly]
Track metadata. the whole lore of the song, in one dict π
Possible values:
string Titleβ Track title namestring Artistβ Track artist namestring Albumβ Track album namestring Genreβ Track genre nameuint32 NumberOfTracksβ Number of tracks in totaluint32 TrackNumberβ Track numberuint32 Durationβ Track duration in millisecondsstring ImgHandleβ[experimental]β Track image handle, available and valid only during the lifetime of an OBEX BIP connection to theObexPort.
object Device [readonly]
Device object path.
string Name [readonly]
Player name. literally the name. π
string Type [readonly]
Player type.
Possible values:
"Audio""Video""Audio Broadcasting""Video Broadcasting"
string Subtype [readonly]
Player subtype.
Possible values:
"Audio Book""Podcast"
boolean Browsable [readonly]
If present, indicates the player can be browsed using the MediaFolder interface. π
Possible values:
Trueβ Supported and activeFalseβ Supported but inactive
Note: If supported but inactive, clients can enable it by using the org.bluez.MediaFolder(5) interface β but it might interfere in the playback of other players. so like, proceed with caution bestie. β οΈ
boolean Searchable [readonly]
If present, indicates the player can be searched using the MediaFolder interface. π
Possible values:
Trueβ Supported and activeFalseβ Supported but inactive
Note: If supported but inactive, clients can enable it by using the org.bluez.MediaFolder(5) interface β but it might interfere in the playback of other players. same warning, same energy. β οΈ
object Playlist
Playlist object path.
uint16 ObexPort [readonly, experimental]
If present, indicates the player can get cover art using BIP over OBEX on this PSM port. album art access, we stan. πΌοΈ
π and that's the whole page, bestie β brought to you by BlueZ, dated September 2023. go forth and control that media player, you absolute icon. ππ
π¦ where this page comes from
- arch rolling: bluez-utils 5.87-2 Β· GPL-2.0-only
- nixpkgs unstable: bluez 5.87
- ubuntu stonking: bluez 5.87-4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms