6

Я пытался установить pulseaudio, и я не могу найти прямой ответ о том, что делать с ALSA. PulseAudio работает поверх ALSA? Должен ли я сначала избавиться от ALSA? ALSA - это звуковой сервер, верно? Так же как и PulseAudio ... Как вы можете сказать, я несколько запутался. Во всяком случае, сейчас у меня, кажется, есть оба - кроме того, что ни один, кажется, не работает

/etc/asound.conf содержит:

pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}

pulseaudio действительно работает. Однако попытка «amixer -Dpulse» приводит к

ALSA lib control.c:874:(snd_ctl_open_conf) Cannot open shared library
/usr/lib64/alsa-lib/libasound_module_ctl_pulse.so
amixer: Mixer attach pulse error: No such file or directory`

Я проверил, и файл действительно не там. У меня однако есть
/usr/lib32/alsa-lib/libasound_module_ctl_pulse.so

Воспроизведение песни в VLC приведет к тому, что поток отобразится в pavucontrol, но ни один звук не дойдет до моих динамиков ... Я в группах pulse и pulse-access (не совсем уверен, для чего они нужны, но подумал, что они не могут навредить), и следовал руководству http://pulseaudio.org/wiki/PerfectSetup к письму.

Обновить:

Как ни странно, когда я удаляю /etc/asound.conf, аудиопотоки по- прежнему отображаются в pavucontrol ... так что ... на самом деле работает pulseaudio? Я использую это? Как я могу сказать?

4 ответа4

5

Вот прямой ответ: PulseAudio - это звуковой сервер ; ALSA - это звуковая подсистема ядра. Они делают разные вещи - ALSA предоставляет драйверы чипсета для вашей звуковой карты или встроенного звукового чипа; PulseAudio направляет звук между программами, звуковыми чипами и даже системами.

PulseAudio - это звуковой сервер для систем POSIX. Звуковой сервер - это в основном прокси для ваших звуковых приложений. Это позволяет вам выполнять расширенные операции с вашими звуковыми данными, когда они проходят между вашим приложением и вашим оборудованием. Такие вещи, как передача звука на другую машину, изменение формата семпла или количества каналов и смешивание нескольких звуков в один, легко достигаются с помощью звукового сервера.

Чтобы использовать PulseAudio, вам нужен где-то звуковой драйвер. Это может быть ALSA или OSS ; они предоставляют драйверы звука ядра для вывода звуковых сигналов с компьютера.

Следуйте инструкциям на странице « Первые шаги», чтобы вызвать командную строку PulseAudio; Вы можете использовать CLI для проверки правильности работы.

# get a pulseaudio commandline
$ pulseaudio -nC

Welcome to PulseAudio! Use "help" for usage information.

# run this to see what sinks are configured
>>> list-sinks

Также проверьте ваши конфигурационные файлы /etc/pulse/daemon.conf и /etc/pulse/default.pa (они могут быть установлены в /usr/local/etc/pulse если вы сами скомпилировали и установили PA).

1

Я должен признать, что мне очень повезло, и у меня не было никаких проблем с пульсом, поэтому я не знаю, как их решить.

Я могу, однако, дать вам общее представление о том, что такое pulseaudio ...

По сути, pulseaudio - это дополнительный слой в звуковой системе, который находится между существующими источниками звука и выходами. Таким образом, вам все еще нужен ALSA в вашей системе, но идея в том, что программа, которая хочет шуметь, имеет (виртуальное) импульсное аудиоустройство. Pulseaudio затем занимается вещами ALSA.

Поэтому вместо того, чтобы настраивать множество программ для работы с драйверами ALSA, вы настраиваете множество программ для работы с pulseaudio и настраивает pulseaudio для работы с драйверами ALSA. Это якобы "хорошая вещь".

0

Эти файлы являются частью alsa-plugins-pulseaudio. В системе был установлен alsa-plugins-pulseaudio-1.1.5-1.fc27.i686, но x86_64 отсутствовал. Так я и сделал:

sudo dnf install alsa-plugins-pulseaudio-1.1.5-1.fc27.x86_64

Надеюсь, это было полезно.

0

У меня была похожая ошибка после обновления некоторых связанных с ALSA пакетов под Arch Linux.

amixer set Master 5%+

возвращенный

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get)
Cannot open shared library /usr/lib/alsa-lib/libasound_module_ctl_pulse.so
amixer: Mixer attach default error: No such device or address

Версии пакета:

  • pulseaudio 4.0-2
  • lib32-libpulse 4.0-2
  • alsa-lib 1.0.27.2-1
  • lib32-alsa-lib 1.0.27.2-1
  • alsa-utils 1.0.27.2-1
  • alsa-plugins 1.0.27-2
  • lib32-alsa-plugins 1.0.27-1
  • pulseaudio-alsa 2-2

Решением было обновить пакет json-c (с 0.10-2 до 0.11-1).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .