MPRIS

提供: ArchWiki
ナビゲーションに移動 検索に移動

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) を使用します。自動化を向上させるために、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-プレイヤーコントロール

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

ヒント: 手動でサービスを作成する代わりに、mpris-proxy-serviceAUR パッケージをインストールすることもできます。