MPRIS
MPRIS (媒體播放器遠程接口規範) 是一個標準的D-Bus接口,旨在提供用於控制媒體播放器的通用編程API。
它提供了一種用於發現、查詢和基本播放控制合規媒體播放器的機制,以及用於向活動媒體項添加上下文的曲目列表接口。
支持的客户端[編輯 | 編輯原始碼]
- Audacious
- celluloid包
- Chromium
- clementineAUR
- cmus
- deadbeefAUR (using deadbeef-mpris2-pluginAUR)
- dragon包
- Firefox
- gmusicbrowserAUR
- guayadequeAUR
- KDE#KDE Connect
- mpv#mpv-mpris
- Music Player Daemon/Tips and tricks#MPRIS support
- ncspot包
- Quod Libet
- rage包
- resonanceAUR
- smf-dsp-gitAUR
- Spotify#MPRIS
- spotube-binAUR
- Telegram
- tidal-hifi-binAUR
- VLC
- brave-nightly-binAUR
實用控制程序[編輯 | 編輯原始碼]
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
然後,您應該在啟用 帶有--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 的依賴項。
例如,可以使用以下命令通過支持的 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。
Install bluez-utils包軟件包並運行 mpris-proxy
.為了在後台和/或系統啟動時啟動 mpris-proxy,您可以創建一個 systemd/User 服務:
~/.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
然後,在啟動/啟用帶有--user
標誌的服務之前執行守護程序重新加載