MPRIS
MPRIS (媒体播放器远程接口规范) 是一个标准的 D-Bus 接口,旨在为控制媒体播放器提供一个通用的编程 API。
它提供了一套机制用于发现、查询和对兼容的媒体播放器进行基本播放控制,以及一个用于为当前活动媒体项目添加上下文信息的曲目列表接口。
支持的客户端
- Audacious
- brave-binAUR
- celluloid
- Chromium
- clementineAUR
- cmus
- deadbeefAUR
- deezerAUR
- dragon
- feishin
- fooyin
- Firefox
- gmusicbrowserAUR
- guayadequeAUR
- KDE#KDE Connect
- mpv#mpv-mpris
- Music Player Daemon/Tips and tricks#MPRIS support
- ncspot
- Plasma Browser Integration
- N Music
- pear-desktopAUR (在 Plugins > Shortcuts (MPRIS) 中启用)
- plattenalbumAUR
- qmmp (在 Settings > Plugins 中启用)
- Quod Libet
- rage
- resonanceAUR
- smf-dsp-gitAUR
- Spotify#MPRIS
- spotify-player
- spotube-binAUR
- strawberry
- tauon-music-box
- Telegram
- tidal-hifi-binAUR
- tonearmAUR
- Vermilion
- VLC
控制工具
XF86AudioPlay, XF86AudioPause, XF86AudioStop, XF86AudioPrev 和 XF86AudioNext)创建 键绑定。Playerctl
playerctl 工具提供了一个命令行工具来向 MPRIS 客户端发送命令。最常用的命令是 play-pause, next, previous 和 stop
$ playerctl play-pause $ playerctl next $ playerctl previous $ playerctl stop
playerctl 将命令发送给它找到的第一个播放器。要手动选择播放器,请使用 --player 选项,例如 --player=vlc。为了更好的自动化,playerctl 附带了一个守护进程,用于跟踪媒体播放器的活动,并将命令发送给最近有活动的播放器。您可以通过以下方式将其在后台启动:
$ playerctld daemon
为了在登录时启动 playerctld,您可以创建以下 systemd/User 服务
~/.config/systemd/user/playerctld.service
[Unit] Description=Keep track of media player activity [Service] Type=oneshot ExecStart=/usr/bin/playerctld daemon [Install] WantedBy=default.target
然后,在通过 --user 标志 启用 服务之前,您应该执行一次 daemon-reload。
此外,playerctld 具有更改“活动”播放器的能力,当您同时拥有多个媒体流时这会非常有用
要切换到下一个播放器,请使用
$ playerctld shift
要切换到上一个播放器,请使用
$ playerctld unshift
mpris-player-control
mpris_player_control 是一个 shell 脚本,它集成了 dbus-send 和 pactl 来控制 MPRIS 客户端。它支持 Play, Pause, PlayPause 和 Stop 操作,以及针对 Spotify 的输出端音量控制(静音/取消静音/增大/减小)。
运行 mpris_player_control -h 以显示脚本的基本用法。
D-Bus
上述方法的另一种替代方案是手动使用 D-Bus,由于它是 systemd 的依赖项,因此默认应该是可用的。
例如,可以使用以下命令通过支持的 方法 (Methods) 来控制 Spotify
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Method
同样地,可以使用 busctl(1)
$ busctl --user call org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player Method
蓝牙
来自 蓝牙耳机 和类似设备的媒体控制可以转发到 MPRIS。
安装 bluez-utils 包并运行 mpris-proxy。为了在后台和/或在系统启动时启动 mpris-proxy,请使用 --user 标志 启动/启用 mpris-proxy.service。