Простое объяснение
Если проигрывается mpd, а звук пытается воспроизвести через другое приложение, x , звук из x не будет выводиться.
Если воспроизводится звук из другого приложения, x , и mpd пытается воспроизвести, звук из mpd не выводится, а звук из x продолжает воспроизводиться.
подробности
Я впервые заметил эту проблему с Flash, и это продолжает оставаться наиболее распространенным сценарием. Я опубликовал вопрос по этому поводу, прежде чем понял, что он не связан исключительно с Flash, а связан с mpd.
Мое самое большое разочарование связано с попыткой заставить работать mpd снова, так как я не могу описать какой-либо метод. Иногда pulseaudio -k
кажется, что помогает, иногда sudo /etc/init.d/mpd restart
другие убивают Chromium (из-за Flash) SIGTERM
. В большинстве случаев это сочетание вышеперечисленного.
Я думаю, что это может быть потому, что я запускаю mpd от имени другого пользователя и использую pulseaudio. Он не запускается от имени пользователя root или текущего пользователя. Кроме того, MPD скомпилирован с поддержкой импульсов.
Я перепробовал множество вещей, но я, честно говоря, не мог рассказать, как это происходило с тех пор. Я бы не стал ковыряться без какого-либо указания, но я был бы очень рад решить эту проблему раз и навсегда.
mpd.conf
Упрощается путем удаления комментариев / пустых строк.
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 из меню: «Система»> «Настройки»> «Настройки PulseAudio». Перейдите на вкладку «Сетевой сервер», затем установите флажок «Включить сетевой доступ к локальным звуковым устройствам» и, наконец, установите флажок «Не требовать проверки подлинности». После этого перезапустите mpd:
sudo /etc/init.d/mpd restart
Однако ... Я только что понял, что mpd работает нормально для меня, и у меня не включен "доступ к локальной сети по звуковым устройствам".
Я думаю, что вы, возможно, правы относительно необходимости запуска mpd от имени текущего пользователя, что я и делаю. (Я понятия не имею, почему это так!)
Простое руководство по настройке mpd для запуска от имени пользователя можно найти здесь: http://gmpc.wikia.com/wiki/MPD_INSTALL_USER_SERVICE_UBUNTU
Подводя итог, так как у вас уже установлен mpd:
1.) Прекратите это:
sudo update-rc.d mpd disable
2.) Скопируйте ваш mpdconf в вашу домашнюю директорию (как .mpdconf) и измените следующие записи так, чтобы ваш пользователь мог получить к ним доступ и написать:
Страница, на которой я беру это, предлагает просто создать папку .mpd в вашем домашнем каталоге для этого материала, за исключением вашего реального музыкального каталога.
3.) Закомментируйте строку пользователя в .mpdconf:
#user "mpd"
4.) Теперь вы можете запустить mpd и обновить базу данных.
5.) Чтобы заставить mpd запускаться автоматически как пользователь при входе в систему, перейдите в «Startup Applications» и добавьте запись для mpd, затем создайте файл автозапуска в ~ / .config / autostart /.
Вероятно, есть недостатки у пользователя, поэтому, возможно, это не подойдет вам.
источник
Не уверен, что это точно такая же проблема, но с моей старой настройкой mpd по умолчанию ish, я думаю, mpd пытался запустить собственный импульсный звук как другой пользователь (пользователь mpd). Я обнаружил, что настроить мой импульсный выход в /etc/mpd.conf на использование сокета для подключения проще, чтобы избежать такого рода проблем.
Тогда вы можете проверить paprefs, что вы принимаете локальные подключения
источник
.pulse-cookie
чтобы/var/lib/mpd
заставить это работать, или pulseaudio не сработалfailed to connect: Access denied
, хотя я не уверен, что это правильный путь.При запуске от имени своего собственного пользователя в соответствии с инструкциями вики mpd не сможет отправлять звук на сервер pulseaudio другого пользователя. Вместо того, чтобы настраивать pulseaudio в качестве общесистемного демона - практика, которая крайне нежелательна для апстрима, вместо этого вы можете сконфигурировать mpd для использования модуля tcp pulseaudio для отправки звука на localhost:
Сначала раскомментируйте модуль tcp в /etc/pulse/default.pa или $ XDG_CONFIG_HOME / pulse / default.pa (обычно ~ / .config / pulse / default.pa) и установите 127.0.0.1 в качестве разрешенного IP-адреса; домашний каталог имеет приоритет:
Дополнительные диапазоны IP в нотации cidr могут быть добавлены с использованием; в качестве разделителя. После этого перезапустите pulseaudio:
Затем отредактируйте /etc/mpd.conf и добавьте новый импульсный выход, указывающий на 127.0.0.1 как «удаленный» сервер:
с https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks
источник