alsa를 사용한 동적 오디오 싱크 및 소스

alsa를 사용한 동적 오디오 싱크 및 소스

그래서 저는 스피커, USB 헤드폰 및 HDMI 출력이 있는 시스템을 가지고 있으며 특정 응용 프로그램에서 사용할 수 있도록 출력을 전환하거나 즉시 모든 응용 프로그램에서 사용할 수 있도록 출력을 전환하고 싶습니다. 지금까지는 새 앱이 열릴 때 사용되는 장치를 바꿀 수 있지만 asoundconf이를 동적으로 수행하는 방법을 찾지 못했습니다.

가능하다면 pulseaudio를 사용하지 않는 것이 좋습니다. 어떤 제안이 있으십니까?

답변1

한 번에 하나의 출력 장치만 사용하려는 경우 스트림을 모든 출력 장치에 복사한 다음 음소거 해제된 출력 장치를 전환할 수 있습니다.

한 번에 두 개의 출력을 사용하려는 경우 세 개의 가상 장치를 생성하고 각 가상 장치를 두 개의 서로 다른 출력에 복사한 후 출력 중 하나만 음소거할 수 있습니다. 그러나 이렇게 하면 해당 장치를 사용하는 응용 프로그램이 출력할 수 있는 장치가 제한됩니다.

포괄적인 솔루션은 3개의 가상 장치를 보유하는 것입니다. 각각은 이전 단락의 다른 2개의 가상 장치에 복사됩니다. 이러한 "상위" 장치는 세 가지 출력 모두에 출력할 수 있지만 가상 장치를 선택적으로 음소거하면 각 출력이 2개 또는 1개로 제한됩니다. 이는 최대 3개 애플리케이션 그룹에 대해 다를 수 있지만 추적하기 어렵습니다.

관련 정보