Почему PulseAudio открывает все звуковые устройства ALSA при запуске?

Обычно я использую команду awk для такого рода задач.

awk -F, '{print >$2".csv"}' input.csv
0
28.12.2020, 21:40
1 ответ

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

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

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

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

Приобретение всех звуковых карт и последующее использование ALSA PulseAudio в качестве устройства ALSA по умолчанию означает, что программы, знающие, как использовать ALSA, но не PulseAudio, будут просто работать, не конкурируя с другими программами. В противном случае, например, ваш аудиоплеер может удерживать карту, не позволяя звуковым эффектам, таким как звонок вашего терминала, работать. На самом деле это нередкая проблема; именно поэтому PulseAudio поддерживается в качестве устройства вывода ALSA.

Конечно, такая конструкция удовлетворяет потребности не всех, но она дает самые простые,наиболее надежное поведение, поскольку карты, которые отображаются пользователю, обычно можно использовать, а те, которые нет, - нет. Может оказаться возможным создать желаемое поведение с помощью некоторой конфигурации, или вы можете предпочесть использовать другое решение, такое как JACK или ALSA с dmix.

1
18.03.2021, 22:40

Теги

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