MPRIS - Arch Linux 中文维基

跳至內容

# MPRIS

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 MPRIS，最近一次同步於 2024-4-28，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

MPRIS (媒體播放器遠程接口規範) 是一個標準的 D-Bus 接口，旨在提供用於控制媒體播放器的通用編程API。

它為兼容媒體播放器的發現、查詢和基本播放控制提供了一種機制，還提供了一個曲目列表界面，用於為活動媒體項目添加上下文。

## 支持的客戶端

這篇文章的某些內容需要擴充。

原因：您可以查看您選擇的播放器並檢查它是否支持帶有 playerctl 工具的 MPRIS。如果是這樣，請將其添加到以下列表中。 (在 Talk:MPRIS 中討論)

- Audacious
- celluloid包
- Chromium
- clementineAUR
- cmus
- deadbeefAUR (using deadbeef-mpris2-pluginAUR)
- dragon包
- Firefox
- gmusicbrowserAUR
- guayadequeAUR
- KDE#KDE Connect
- mpv#mpv-mpris
- MPD/提示與技巧#MPRIS 支持
- ncspot包
- Quod Libet
- rage包
- resonanceAUR
- smf-dsp-gitAUR
- Spotify#MPRIS
- spotube-binAUR
- Telegram
- tidal-hifi-binAUR
- VLC
- brave-nightly-binAUR

## 控制工具

提示：為常用控制命令和多媒體鍵，（如`XF86AudioPlay`, `XF86AudioStop`, `XF86AudioPrev` 與 `XF86AudioNext`）創建鍵綁定

### Playerctl

playerctl包 工具提供了一個命令行工具，用於將命令發送到 MPRIS 客戶端。最常見的命令是 `play-pause`, `next` 與 `previous`:

    $ playerctl play-pause
    $ playerctl next
    $ playerctl previous

playerctl 會向它找到的第一個播放器發送命令。要手動選擇播放器，請使用 `--player` 選項，例如 `--player=vlc` 。為了更好地實現自動化，playerctl 附帶了一個守護進程，它能跟蹤媒體播放器的活動，並將命令發送給最近有活動的播放器。你可以使用以下命令將它轉入後台：

    $ playerctld daemon

為了在登錄時啟動 playerctld，您可以創建以下 systemd/用戶服務

    ~/.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-systemd-unitAUR 軟體包，而不是手動創建服務。

此外，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。

注意：某些耳機（例如索尼 WH-1000XM3）提供 AVRCP 接口。對於這些類型，不需要 mpris-proxy 。只需確保已為媒體鍵設置了鍵綁定即可。

安裝 bluez-utils包 軟體包並運行 `mpris-proxy`。為了在後台和/或系統啟動時啟動 mpris-proxy，您可以創建一個 systemd/用戶服務：

    ~/.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` 標誌的服務之前執行daemon-reload。

提示：可以安裝 mpris-proxy-serviceAUR 軟體包，而不是手動創建服務。
分類：​

- 多媒體

MPRIS
新增話題