Mpdが再生中で、サウンドが別のアプリケーションxを介して再生しようとすると、xからのサウンドは出力されません。
別のアプリケーションxからの音が再生されてmpdが再生しようとすると、mpdから音は出力されませんが、xプレイし続けます。
Flashでこの問題に最初に気づき、これが最も一般的なシナリオであり続けています。私は これに関する質問を投稿しました 厳密にFlash関連ではないことに気付く前に、代わりにmpdと関係があります。
私の最大の不満は、mpdを再び動作させようとすることです。どの方法も特定できないようです。時々pulseaudio -k
が助けになるように見える場合もあれば、Sudo /etc/init.d/mpd restart
がSIGTERM
でChromiumを(Flashにより)殺す場合もあります。ほとんどの場合、上記の組み合わせです。
これは、mpdを別のユーザーとして実行し、pulseaudioを使用しているためだと思います。 rootまたは現在のユーザーとしては実行されません。また、mpdはPulseサポートでコンパイルされています。
私は多くのことを試しましたが、それ以来しばらくしてきたので、私は正直に何を暗唱できませんでした。何らかの指示がなければ、ぶらぶらしたくはありませんが、この問題を完全に解決できて本当にうれしいです。
コメント/空白行を削除することにより簡素化されました。
music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/tag_cache"
log_file "/var/log/mpd/mpd.log"
pid_file "/var/run/mpd/pid"
state_file "/var/lib/mpd/state"
user "mpd"
bind_to_address "wilson"
input {
plugin "curl"
}
audio_output {
type "Pulse"
name "My Pulse Output"
}
filesystem_charset "UTF-8"
id3v1_encoding "UTF-8"
これを質問に保つために:誰がこれを引き起こしているのか、または現在のユーザーとしてmpdを実行せずにそれを修正する方法を知っていますか?
最初にmpdを使い始めたときにこの問題がありましたが、かなり前のことなので、修正したことを正確に思い出せません!
PulseAudioの設定がインストールされていますか?フォーラムでこのヒントを見つけました:Sudo apt-get install paprefs
次に、メニューからPulseAudio prefrencesを開きます。[システム]-> [設定]-> [PulseAudioの設定] [ネットワークサーバー]タブをクリックし、[ローカルサウンドデバイスへのネットワークアクセスを有効にする]チェックボックスをオンにします。その後、mpdを再起動します:Sudo /etc/init.d/mpd restart
しかし... mpdがうまく機能し、「ローカルサウンドデバイスへのネットワークアクセス」が有効になっていないことに気付きました。
現在のユーザーとしてmpdを実行する必要があるのは正しいと思います。これが私がしていることです。 (これがなぜなのか、私には見当もつかない!)
ユーザーとして実行されるようにmpdをセットアップするための簡単なガイドは、ここにあります: http://gmpc.wikia.com/wiki/MPD_INSTALL_USER_SERVICE_UBUNT
すでにmpdがインストールされているので、物事を要約すると:
1.)やめて:Sudo update-rc.d mpd disable
2.)mpdconfをホームディレクトリ(.mpdconfとして)にコピーし、次のエントリをユーザーがアクセスおよび書き込みできる場所に変更します。
music_directory playlist_directory db_file log_file error_file pid_file state_file
私がこれから取っているページは、あなたの実際の音楽ディレクトリのために保存するために、このようなもののためにあなたのホームディレクトリに.mpdフォルダを作成することを提案します。
3.).mpdconfのユーザー行をコメントアウトします:#user "mpd"
4.)これで、mpdを実行してデータベースを更新できます。
5.)ログイン時にユーザーとしてmpdを自動的に起動するには、スタートアップアプリケーションに移動してmpdのエントリを追加し、〜/ .config/autostart /に自動起動ファイルを作成します。
[Desktop Entry] Type=Application Exec=mpd Hidden=false NoDisplay=false Terminal=false X-GNOME-Autostart-enabled=true Name[en_US]=Music Player Daemon Name=Music Player Daemon Comment[en_US]=plays the music Comment=plays the music
おそらくユーザーとして実行することには欠点があるので、これはあなたのニーズに合わないかもしれません。
まったく同じ問題かどうかはわかりませんが、古いデフォルトのmpdセットアップでは、mpdは独自のPulseオーディオを別のユーザー(mpdユーザー)として起動しようとしていたと思います。 / etc/mpd.confでのパルス出力の設定は、この種の問題を回避するために、ソケットを使用して接続する方が簡単です。
audio_output {
type "Pulse"
name "My Pulse Output"
server "localhost"
}
次に、ローカル接続を受け入れることをpaprefsで確認します。
Wikiの指示に従って独自のユーザーとして実行すると、mpdは別のユーザーのpulseaudioサーバーにサウンドを送信できなくなります。 pulseaudioをシステム全体のデーモンとして設定するのではなく、アップストリームが強く推奨する方法ではなく、代わりにpulseaudioのtcpモジュールを使用してlocalhostにサウンドを送信するようにmpdを設定できます。
まず、/ etc/Pulse/default.paまたは$ XDG_CONFIG_HOME/Pulse/default.pa(通常は〜/ .config/Pulse/default.pa)のtcpモジュールのコメントを外し、許可されたIPアドレスとして127.0.0.1を設定します。ホームディレクトリが優先されます。
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
#load-module module-zeroconf-publish
を使用してcidr表記の追加のIP範囲を追加できます。セパレータとして。これが完了したら、pulseaudioを再起動します。
$ pulseaudio --kill
$ pulseaudio --start -or- start-pulseaudio-x11/kde
次に、/ etc/mpd.confを編集し、127.0.0.1を指す新しいパルス出力を「リモート」サーバーとして追加します。
audio_output {
type "Pulse"
name "Local Music Player Daemon"
server "127.0.0.1"
}
from https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks