MPRIS

提供: ArchWiki
2024年1月1日 (月) 00:42時点におけるKgx (トーク | 投稿記録)による版 (→‎サポートしているクライアント: 情報を更新)
ナビゲーションに移動 検索に移動

MPRIS (Media Player Remote Interfacing Specification) はメディアプレイヤーを制御するための共通のプログラマティック API を提供することを目的とした標準 D-Bus インターフェイスです。

準拠するメディアプレイヤーの発見、問い合わせ、基本的な再生制御のためのメカニズムや、アクティブなメディアアイテムにコンテンキストを追加するために使用するトラックリストインターフェイスを提供します。

サポートしているクライアント

コントロールユーティリティ

ヒント: XF86AudioPlay XF86AudioStopXF86AudioPrevXF86AudioNext などの一般的な制御コマンドとマルチメディアキーのキーボードショートカット を作成します。

Playerctl

playerctl ユーティリティは、MPRIS クライアントにコマンドを送信するためのコマンドラインツールを提供します。最も一般的なコマンドは、play-pausenext、および previous です:

$ playerctl play-pause
$ playerctl next
$ playerctl previous

playerctl は、最初に見つかったプレーヤーにコマンドを送信します。プレーヤーを手動で選択するには、--player オプションを使用します。例: --player=vlc

mpris-プレイヤーコントロール

mpris_player_controldbus-sendpactl を統合して MPRIS クライアントを制御するシェルスクリプトです。再生、一時停止、PlayPause、停止の各操作と、Spotify の音量調整(ミュート/アンミュート/アップ/ダウン)をサポートしています。

mpris_player_control -h を実行すると、スクリプトの基本的な使い方が表示されます。

D-Bus

D-Bussystemd に依存しているため、デフォルトで利用できるはずです。

例えば、以下のようなコマンドで 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

Bluetooth ヘッドセットおよび同様のデバイスからのメディア制御は、MPRIS に転送される場合があります。

ノート: Sony 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 フラグを使用してサービスを 起動/有効化 します。