PulseAudio

Опубликовано 6 Июня, 2008 под тегами Debian, PulseAudio, Debian, Звук

В первом сообщении я заикнулся об этой системке, однако собрался немного осветить вопрос только сейчас. В настройке под Ubuntu есть некоторые тонкости, которые не освещены о официальном руководстве. Преимущественно о них и пойдет речь.

Во-первых, пакеты:

Необходимые: pulseaudio (meta-package) Если нужна работа в приложениях, работающих с Alsa, так же libasound2-plugins Для прямой работы с gdm, gnome и тп: libpulse-mainloop-glib0

После установки вышеозначенных пакетов, следует подправить /etc/default/pulseaudio Во-первых, обязательно PULSEAUDIO_SYSTEM_START=1 иначе сервер вообще не будет грузиться. По необходимости, можно поставить DISALLOW_MODULE_LOADING=0

Для локального проигрывания этого должно быть вполне достаточно. Чтобы запустить сервер pulseaudio, достаточно выполнить $ sudo /etc/init.d/pulseaudio start Ссылки в rc.d уже созданы на этапе установки, поэтому можно и перезагрузиться.

Теперь, чтобы alsalib проигрывал звук через pulseaudio, нужно создать файл /etc/asound.conf следующего содержания:

pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Или, если нужен выбор, то

pcm.pulse {
     type pulse
}
ctl.pulse {
    type pulse
}

(это создаст виртуальное устройство pulse, вывод через которое можно будет задать)

Так же, если нужна работа через tcp (сетевой звук, ради которого, в основном, и стоит ставить pulseaudio), придется подправить /etc/pulse/default.pa, конкретно, заменить:

# load-module module-native-protocol-tcp

на

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.0/8;192.168.0.0/16

192.168.0.0/16 замените на подсеть, которой разрешено использовать данный сервер pulseaudio. Естественно, можно дописать еще несколько подсетей через точку с запятой.

Если вы не ставили libpulse-mainloop-glib0, то вопрос можно решить и иначе: в файле/etc/pulse/client.conf прописать:

default-server = localhost

Этот трюк часто очень здорово помогает, поскольку libpulse-mainloop-glib0 работает почему-то далеко не всегда.

За дельнейшей информацией отсылаю к http://www.pulseaudio.org/wiki/PerfectSetup . Там, правда, все на английском, но в целом смысл можно уловить, даже не зная языка.

В частности, чтобы звук работал с flash player 9, нужно доставить модуль libflashsupport.