ALSA によるダイナミックオーディオシンクとソース

ALSA によるダイナミックオーディオシンクとソース

私のシステムでは、スピーカー、USB ヘッドセット、HDMI 出力が使用可能で、特定のアプリケーションで使用するもの、またはそれらすべてをその場で切り替えたいと考えています。これまでのところ、asoundconf新しいアプリケーションを開いたときに使用するデバイスを切り替えることはできますが、これを動的に行う方法は見つかりませんでした。

できれば pulseaudio は使用したくないです。何か提案はありますか?

答え1

一度に使用する出力デバイスを 1 つだけに限定する場合は、ストリームをすべての出力デバイスにコピーし、ミュートされていない出力デバイスを切り替えることができます。

一度に 2 つの出力を使用する場合は、3 つの仮想デバイスを作成し、それぞれを 2 つの異なる出力にコピーして、出力の 1 つだけをミュートすることができます。ただし、これにより、それらを使用するアプリケーションが出力できるデバイスが制限されます。

包括的な解決策としては、前の段落の他の仮想デバイス 2 つにそれぞれコピーする 3 つの仮想デバイスを用意することです。これらの「トップ レベル」デバイスは 3 つの出力すべてに出力できますが、仮想デバイスの選択的なミュートにより、それぞれ 2 つまたは 1 つに制限されます。これは、最大 3 セットのアプリケーションで異なる可能性がありますが、追跡するのは扱いにくいです。

関連情報