Как универсально поменять аудиоустройства в linux?

422
ironfroggy

У меня есть внутреннее звуковое устройство и USB-гарнитура, и в зависимости от ситуации, которую я мог бы использовать либо, но я не нашел хороших решений. Я бы хотел кроссплатформенное решение, но я использую Linux для большинства моих случаев использования. Я могу настроить некоторые приложения (VLC) на использование одного или другого, и я могу установить предпочтения в KDE, но не все слушает, и, в первую очередь, кажется, что Flash просто захватывает все, что может.

0

1 ответ на вопрос

1
nagul

Вам необходимо использовать звуковой сервер, такой как PulseAudio, который служит прокси для ваших звуковых приложений.

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

Как это работает :

Одна из целей PulseAudio - перенаправить все звуковые потоки через него, в том числе от процессов, которые пытаются напрямую получить доступ к оборудованию (например, к устаревшим приложениям OSS). PulseAudio достигает этого, предоставляя адаптеры для приложений, использующих другие аудиосистемы, такие как aRts и ESD.

В типичном сценарии установки под Linux пользователь настраивает ALSA для использования виртуального устройства, предоставленного PulseAudio. Таким образом, приложения, использующие ALSA, будут выводить звук в PulseAudio, который затем использует сам ALSA для доступа к реальной звуковой карте. PulseAudio также предоставляет собственный собственный интерфейс для приложений, которые хотят напрямую поддерживать PulseAudio, а также унаследованный интерфейс для приложений ESD, что делает его пригодным в качестве замены для ESD.

Старые версии некоторых приложений не работали с PulseAudio при использовании протокола ALSA, поэтому, если вы все же наткнетесь на эту проблему, вам нужно будет найти патч для импульсного плагина в ALSA.

Вот диаграмма, показывающая вид с высоты птичьего полета, где находится PulseAudio, и как это работает:

Честно говоря, вы можете столкнуться с проблемами, пытаясь настроить PulseAudio, так что будьте готовы. Все намного лучше, чем раньше, но не так хорошо, как следовало бы. Это может быть хорошей идеей, чтобы отслеживать изменения, которые вы делаете, в случае, если вам нужно отменить их позже. Вам также посоветовали бы взглянуть на эту статью и другие статьи о запутанном беспорядке, который является аудиоподсистемой linux, перед тем, как вы начнете.

Нашел эту статью о том, как настроить один общесистемный экземпляр pulseaudio для всех приложений: http://www.alanbriolat.co.uk/tag/pulseaudio/ nagul 14 лет назад 0
PulseAudio - лучшее решение, но также и огромный PITA. Rob 12 лет назад 0

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