Динамические аудиоприемники и источники с ALSA

Динамические аудиоприемники и источники с ALSA

Итак, у меня есть динамики, гарнитура USB и выход HDMI, доступные для моей системы, и я хотел бы переключать то, что используется определенным приложением, или все они на лету. Пока что я могу использовать asoundconfдля переключения используемого устройства при открытии нового приложения, однако я не нашел способа сделать это динамически.

Я бы предпочел не использовать PulseAudio, если это возможно. Есть предложения?

решение1

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

Если вы хотите использовать два выхода одновременно, вы можете создать три виртуальных устройства, каждое из которых копирует на два разных выхода, и отключить только один из выходов. Однако это ограничит устройства, на которые приложение, использующее их, может выводить.

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

Связанный контент