使用 alsa 进行动态音频接收器和源

使用 alsa 进行动态音频接收器和源

因此,我的系统有一个扬声器、一个 USB 耳机和 HDMI 输出,并且希望切换供任何特定应用程序使用,或者即时切换所有应用程序使用的输出。到目前为止,我能够asoundconf在新应用程序打开时交换使用哪个设备,但是我还没有找到动态执行此操作的方法。

如果可能的话,我宁愿不使用pulseaudio。有什么建议么?

答案1

如果您只想一次使用一个输出设备,您可以将流复制到所有输出设备,然后切换哪个输出设备未静音。

如果您想一次使用两个输出,您可以创建三个虚拟设备,每个虚拟设备复制到两个不同的输出,并且仅将其中一个输出静音。不过,这将限制使用这些设备的应用程序可以输出到哪些设备。

包罗万象的解决方案是拥有三个虚拟设备,每个虚拟设备复制到上一段的其他两个虚拟设备。这些“顶级”设备可以输出到所有三个输出,但通过选择性静音虚拟设备,每个输出被限制为两个或一个,这对于最多三组应用程序来说可能是不同的,但很难跟踪。

相关内容