MPRIS

提供: ArchWiki
2021年12月18日 (土) 12:08時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (新規作成(英語版より))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

MPRIS (Media Player Remote Interfacing Specification) is a standard D-Bus interface which aims to provide a common programmatic API for controlling media players.

It provides a mechanism for discovery, querying and basic playback control of compliant media players, as well as a track list interface which is used to add context to the active media item.

Supported clients

この記事またはセクションは加筆を必要としています。
理由: You can see your player of choise in the list and check if it supports mpris with playerctl utility. In case it does, add it to the following list. (議論: トーク:MPRIS#)

Control utilities

ヒント: Create a key binding for common control commands and multimedia keys such as XF86AudioPlay, XF86AudioStop, XF86AudioPrev and XF86AudioNext.

Playerctl

The playerctl utility provides a command line tool to send commands to MPRIS clients. The most common commands are play-pause, next and previous:

$ playerctl play-pause
$ playerctl next
$ playerctl previous

playerctl will send the command to the first player it finds. To select a player manually, use the --player option, e.g. --player=vlc.

mpris-player-control

The mpris_player_control is a shell script which integrates dbus-send and pactl to control MPRIS clients. It supports the Play, Pause, PlayPause and Stop actions and sink volume control (mute/unmute/up/down) for Spotify.

Run mpris_player_control -h to show basic script usage.

D-Bus

An alternative to the above is to manually use D-Bus, which should be available by default as it is a dependency of systemd.

For example, the following commands can be used to control Spotify:

$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop

Bluetooth

Media control from bluetooth headsets and similar devices may be forwarded to MPRIS.

ノート: Some headphones such as Sony WH-1000XM3 provide an AVRCP interface. For these types mpris-proxy is not required. Just make sure you have key bindings set up for media keys.

Install the bluez-utils package and run mpris-proxy. In order to start up mpris-proxy in the background and/or when your system starts, you may create a systemd/User service:

~/.config/systemd/user/mpris-proxy.service
[Unit]
Description=Forward bluetooth media controls to MPRIS

[Service]
Type=simple
ExecStart=/usr/bin/mpris-proxy

[Install]
WantedBy=default.target

Then start/enable the service with the --user flag.