MPRIS
MPRIS (Media Player Remote Interfacing Specification,媒体播放器远程接口规范) 是一个标准的 D-Bus 接口,旨在为控制媒体播放器提供通用的程序化 API。
它为兼容的媒体播放器的发现、查询和基本播放控制提供了一种机制,以及一个用于为活动媒体项目添加上下文的曲目列表界面。
支持的客户端
- Audacious
- brave-nightly-binAUR
- celluloid
- Chromium
- clementineAUR
- cmus
- deadbeefAUR (使用 deadbeef-mpris2-pluginAUR)
- dragon
- feishinAUR
- Firefox
- gmusicbrowserAUR
- guayadequeAUR
- KDE#KDE Connect
- mpv#mpv-mpris
- Music Player Daemon/技巧和提示#MPRIS 支持
- ncspot
- N Music
- plattenalbumAUR
- Quod Libet
- rage
- resonanceAUR
- smf-dsp-gitAUR
- Spotify#MPRIS
- spotify-player
- spotube-binAUR
- Telegram
- tidal-hifi-binAUR
- VLC
控制工具
Playerctl
playerctl 实用程序提供了一个命令行工具,用于向 MPRIS 客户端发送命令。最常见的命令是 play-pause
、next
和 previous
$ playerctl play-pause $ playerctl next $ playerctl previous
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
然后,您应该在 启用 服务之前执行 daemon-reload 和使用 --user
标志。
此外,playerctld 具有更改“活动”播放器的能力,当您有多个同时进行的媒体流时,这可能很有用
要切换到下一个播放器,请使用
$ playerctld shift
要切换到上一个播放器,请使用
$ playerctld unshift
mpris-player-control
mpris_player_control 是一个 shell 脚本,它集成了 dbus-send
和 pactl
来控制 MPRIS 客户端。它支持 Spotify 的播放、暂停、播放/暂停和停止操作以及音频输出音量控制(静音/取消静音/增大/减小)。
运行 mpris_player_control -h
以显示基本脚本用法。
D-Bus
上述方法的替代方案是手动使用 D-Bus,它应该默认可用,因为它是 systemd 的依赖项。
$ 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
。