В один день мне надоел весь этот зоопарк со звуковыми серверами в linux и я решил что надо что-то делать. В начале я использовал esound...
Что же такое PulseAudio спросите вы? Это очень мощный сетевой звуковой сервер для linux (и freebsd, сам видел ;) ). Она позволяет куче приложений использовать одну звуковую карту.
PulseAudio может играть через OSS, ALSA и jack. OSS уже почти умер, у меня не только oss модулей для ядре нет, но и выключенна эмуляция на уровне ALSA. Через jack я не пробывал. Здесь описана только настройка polypaudio через ALSA.
Для начала, нам надо поставить сам PulseAudio и некоторые дополнительные приложения для него.
И так, в общем случае, его даже настраивать не надо. Достаточно его запустить его вот так:
Если он у вас не запускается, то это может быть по следующим причинам:
1) В /tmp/ имеется .esd с правами 1777 и root:root. Достаточно удалить .esd (https://bugzilla.altlinux.org/show_bug.cgi?id=10017)
2) У вас не запущен HAL daemon. Запустите его.
3) У нас нет звуковой карточки или она не настроена.
Ну а кому охота настроить его ручками, руководство ниже.
Вот мой конфиг, в нём ключена эмуляция esd.
Или ещё один конфиг с выключенной эмуляцией esd:
Теперь, можно его поднять следующей командой:
Что бы выключить (если сильно надо):
Описание настройки XMMS и MPlayer ниже.
1) XMMS => Ставим плагин xmms-out-pulse и в настройках указываем что звук надо играть через него.
2) XMMS => Ставим плагин xmms-out-esd и в настройках выбираем его.
3) XMMS => Ставим плагин xmms-out-alsa и в настройках выбираем его.
MPlayer => Ставим mplayer из Сизифа и говорим играть через pulse (-ao pulse).
1) Настройки -> Движок -> Xine -> модуль вывода pulseaudio
2) Настройки -> Движок -> Xine -> модуль вывода esd
3) Настройки -> Движок -> Xine -> модуль вывода alsa
Или, с настроеной ALSA играем всё через неё. ALSA сама сделает своё грязное дело.
В последнем релизе ALSA (1.0.12) в пакет alsa-plugins добавлен плагин для вывода звука через PulseAudio.
Для одного пользователя настраивается так:
И после, любое приложение играющее через alsa автоматически начинает играть на локальный PulseAudio сервер.
Ставим libao-pulse:
И настраиваем так:
Ставим gst-pulse:
Как настраивается я не знаю. ;)
MPlayer как-то странно играет через esd эмуляцию в pulseaudio. Вобщем, не рекомендую.
При использовании hibernate с wks26-up ядром (wks26-smp не тестировал) возникает мелкая проблема. После просыпания машины из hibernate, pulseaudio надо остановить и запустить заново (иначе, звука просто нет).
https://bugzilla.altlinux.org/show_bug.cgi?id=10017 — workaround для такого, перед стартом PulseAudio убить .esd из /tmp.
/usr/share/doc/pulseaudio-0.9.5/
/usr/share/doc/alsa-plugins-1.0.13/README-pulse
Пока не известно, т.к. автор ушёл на пол года делать дипломную работу. ;)
Ссылок на эту страницу нет