最近、Ubuntu 14.10のクリーンインストールを行いましたが、もう一度MPDに問題が発生します。前回はなんとか修正できたと思いますが、どうすればいいかわかりません。
私の問題は、MPDで外部Bluetoothスピーカーを使用できるようにすることです。さらに良いのは、プラグインスピーカーとBluetoothスピーカーの両方を同時に使用できるようにしたいことです。
残念ながら、MPDはGnomeオーディオ設定でオーディオを生成しているアプリケーションでは表示されないため、Bluetoothスピーカーを使用するという私の指示は無視されます。これは、MPDがPulseaudioではなくAlsaを使用しているためだと思います。
さて、mpd.confには次の行があります。
audio_output {
type "Pulse"
name "MPD"
# server "localhost"
}
また、サーバー回線を分解しようとしましたが、この場合、MPDは起動しません。
明確にするために、MPDはグループmpd
およびPulse-access
の下にあるユーザーPulse
の下で実行されていますが、これでは十分ではないようです。
今、私は自分のユーザーでMPDを実行できると信じており、これはいくつかの問題を解決する可能性がありますが、このPCの他のユーザーも音楽を聴きたいので、私はむしろそうしません。
MPDにPulseaudioを使用させる正しい方法は何ですか(またはデフォルト以外のスピーカーに接続するために必要なことは何ですか?)
システムワイドモードのMPDとは異なり、PulseAudioはユーザースペースで実行されます。つまり、Bluetoothの検出やBluetoothオーディオシンクの提供など、すべてのpulseaudio設定はユーザーセッションから行われます。
MPDデーモンは、システム全体で実行されている場合、ユーザーセッションで実行されているPulse Audioデバイスにアクセスできません。システム全体のモードでPulse Audioを実行することは理論上可能であるため、これは非推奨であり、少なくともデスクトップセットアップでは実行しないでください。その場合、ユーザー空間からMPDを実行する方がはるかに優れたオプションになります。
実行中のPulseAudioサーバーが提供するデバイスを引き続き使用できるようにするには、PulseAudioとMPDの両方のTCPストリーミング機能を使用します。
これには、/etc/mpd.conf
に以下が必要です。
audio_output {
type "Pulse"
name "My Pulse Device"
server "localhost"
}
次に、TCPプロトコルをロードして、実行中のPulseAudioサーバーにストリーミングする必要があります。これは、ユーザーがログインするたびに(または/etc/Pulse/default.pa
でテストするためにCLIから起動されるたびに)ロードされるpacmd load-module
に追加できます。
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 # IP of localhost
免責事項:これは、Bluetoothオーディオデバイスに切り替えても機能するはずですが、Bluetoothドングルに14.10テストシステムで問題があるため、これをテストできませんでした。
@Takkatによって提案された解決策も少し変更を加えて機能しました。
Debian Busterでは、mpd.conf localhost
オプションでserver
を127.0.0.1
に置き換える必要がありました。過度にmpdはIPv6アドレス::1
に接続しようとして失敗しました。
ERROR: Failed to open "My Pulse Device" [Pulse]; failed to connect: Access denied
(コメントの代わりに答えを申し訳ありませんが、私はここに新しく、コメントするのに十分なポイントがありません。誰かがこのメッセージを移動または削除しても問題ありません。)