MPD с pulseaudio

Я недавно сделал чистую установку 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 (или делать, что необходимо для соединения его с другими динамиками, чем значение по умолчанию?)

5
задан 30 November 2014 в 14:26

2 ответа

В отличие от 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 системах тестирования.

7
ответ дан 23 November 2019 в 08:59

Решение, предложенное @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

(Извините за ответ вместо комментария я являюсь новым здесь и не имею достаточного количества точек все же для комментария. Никакая проблема для меня, если кто-то перемещает или удаляет это сообщение).

1
ответ дан 23 November 2019 в 08:59

Другие вопросы по тегам:

Похожие вопросы: