web-dev-qa-db-ja.com

MPRISがアプリケーションを認識しないようにする

Chromeブラウザも実行しているときに、オーディオプレーヤー(通常はAudacious v。3.9)を実行しています。Chromeでビデオを開くと、オーディオからMPRISコントロールを「要求」しているようですプレーヤー。Audaciousを制御するためのショートカットキーを取得する唯一の方法は、Chromeを閉じることです。

MPRISがChromeを「メディアプレーヤー」として認識しないようにする方法が必要です。これらのアプリの一方(または両方)がMPRIS機能を適切に「要求」していないことが問題だと思います。 manページ によると、これはMPRIS_REMOTE_PLAYER変数に関連しています。

MPRIS_REMOTE_PLAYER
未設定または*に設定した場合、mpris-remoteは、D_BUSを介して「org.mpris.*」に登録されている最初のプレーヤーと通信します。 MPRIS準拠のプレーヤーを1つだけ実行している場合は、これで問題ありません。複数実行している場合は、この変数を接続したいプレーヤーの名前に設定します。たとえば、fooに設定すると、「org.mpris.foo」でプレーヤーとの通信を試み、その名前に何も存在しない場合は失敗します。

私の問題は、この変数の設定方法がわからないことです。 D-busエディターでこれに対応するものを探しました(アナロジー トレイのメディアプレーヤー についての類推で)が、そこに特定できる関連設定はありません。

一方、私はこれを発見しました:

$ qdbus org.mpris.*
org.mpris.MediaPlayer2.audacious
org.mpris.MediaPlayer2.chrome.instance13448

つまり、Audaciousには その「自分の」MPRIS ID があるようですが、どうすれば防ぐChromeが認識されない) MPRISの目的のための「メディアプレーヤー」として?それを設定する上で何か助けがあれば大いに感謝されます。

P.s。私はUbuntu 18.04 LTSを使用しています。

3
Dɑvïd

この問題に対する「MPRIS管理」の解決策があるかどうかを知っておくとよいでしょうが、Chrome自体の設定を使用して回避策があります。

Chromeは、メディアキー/ショートカットの「引き継ぐ」制御において非常に積極的です。これは、次の手順に従って無効にすることができます 投稿にあります GHacks .netサイト:

Chrome現在Googleのハードウェアメディアキー処理フラグを無効にして、Google Chromeがメディアキーアクセスを制限しないようにしています。これを行う方法は次のとおりです。

  1. ロードchrome://flags/#hardware-media-key-handling Chromeアドレスバー;これにより、ロード時に正しいフラグが開くはずです。
  2. ハードウェアメディアキーの処理フラグをDisabledに設定します。
  3. Google Chromeを再起動します。

私のマシンでこのトグルを設定すると、Chromeが提供する「再起動」ボタンにより、前の/再起動されたセッションのタブはそのままでブラウザが再起動されました。

これは私の問題に対応します。警告MPRISの「ソリューション」がある場合(つまり、MPRIS仕様を使用して潜在的なメディアプレーヤーを「非表示」にする)、私はまだ知りたいです。 ;)

4
Dɑvïd

私はちょうど「発見」しました Playerctl (または Github )。 playerctlは、OPの問題の一部(すべて?)を解決する素晴らしいコマンドラインツールです。公式の「About」から:

Playerctlは、MPRIS D-Busインターフェイス仕様を実装するメディアプレーヤーを制御するためのコマンドラインユーティリティとライブラリです。 Playerctlを使用すると、再生や一時停止などのプレーヤーアクションをメディアキーに簡単にバインドできます。また、ステータスラインジェネレータや他のコマンドラインツールに統合するために、アーティストやタイトルなど、再生中のトラックに関するメタデータを取得することもできます。

Playerctlは、上級ユーザー向けに、お気に入りのスクリプト言語で利用できる内省可能なライブラリを提供します。これにより、メディアプレーヤーのイベントをサブスクライブしたり、再生中のトラックのアーティストやタイトルなどのメタデータを取得したりできます。

これは、特定のメディアプレーヤーをターゲットにしながら、MPRISコントロールを使用する非常に簡単な方法です。とにかく、このQ&Aのオプションとしての価値があります。

0
Dɑvïd