Я недавно сделал чистую установку Ubuntu 14.10, и еще раз меня оставляют с проблемой с MPD. Я думаю, что мне удалось зафиксировать его в прошлый раз, но я не уверен как.
Моя проблема должна смочь использовать внешнюю беспроводную колонку с MPD. Еще лучше я хотел бы смочь использовать и включенный и беспроводную колонку одновременно.
К сожалению, MPD не показывает в соответствии с приложениями, которые производят аудио под параметрами звука Gnome, и следовательно это игнорирует мою директиву для использования беспроводной колонки. Я думаю, что это вызвано тем, что MPD использует Alsa вместо Pulseaudio.
Теперь, в моем mpd.conf у меня есть строки
audio_output {
type "pulse"
name "MPD"
# server "localhost"
}
Я также попробовал к decomment строку сервера, но в этом случае, MPD даже не запускается.
Для разъяснения MPD работает при пользователе mpd
, который находится под контролем групп pulse
и pulse-access
, но это, кажется, не достаточно.
Теперь, я полагаю, что могу выполнить MPD при своем собственном пользователе, и это могло устранить некоторые проблемы, но я буду скорее не, поскольку другие пользователи этого ПК могут хотеть слушать музыку также.
Что правильный путь состоит в том, чтобы заставить MPD использовать Pulseaudio (или делать, что необходимо для соединения его с другими динамиками, чем значение по умолчанию?)
В отличие от MPD в режиме PulseAudio в масштабе всей системы работает в пространстве пользователя. Это означает, все pulseaudio настройки включая открытие Bluetooth и обеспечение приемника аудио Bluetooth сделан от сеанса пользователя.
демон MPD, при выполнении в масштабе всей системы, неспособен получить доступ к Импульсным Аудиоустройствам, работающим на сеансе пользователя. Поскольку это находится в теории, возможной выполнять Импульсное Аудио в режиме в масштабе всей системы, это не рекомендовано , по крайней мере, мы не должны делать так в настольной установке. Это тогда было бы много более оптимального варианта выполнить MPD от пространства пользователя.
, Чтобы все еще быть в состоянии использовать устройства рабочий сервер PulseAudio обеспечивает, мы используем возможностей потоковой передачи TCP обоих, PulseAudio и MPD.
Это требует следующего в /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 я просто должен был заменить localhost
с 127.0.0.1
в mpd.conf server
опция, премудрый mpd пытался соединиться с адресом IPv6 ::1
и отказавший с:
ERROR: Failed to open "My PULSE Device" [pulse]; failed to connect: Access denied
(Извините за ответ вместо комментария я являюсь новым здесь и не имею достаточного количества точек все же для комментария. Никакая проблема для меня, если кто-то перемещает или удаляет это сообщение).