asoundrc を作成せずに、一度にオーディオを発する複数のプログラムをサポートする Arch Linux でオーディオを設定するにはどうすればよいでしょうか?

asoundrc を作成せずに、一度にオーディオを発する複数のプログラムをサポートする Arch Linux でオーディオを設定するにはどうすればよいでしょうか?

複数のプログラムがサウンド カードにアクセスして同時にオーディオを出力できるように、Arch Linux システムでオーディオを設定したいと思います。

残念ながら、asoundrc ファイルの構文はわかりにくく、現在は次のファイルがあります。

cm.!spdif {
     type hw
     card 1
     device 0
}

pcm.!default {
     type plug
     slave {
           pcm "plug:dmix" # this is a line is based on https://bbs.archlinux.org/viewtopic.php?id=95582
           # I have also tried pcm "dmix", based on the thread. It failed to get multiple sound processes running simultaneously. 
     }
}

一度に 1 つのプログラムからはサウンドを出力できますが、別のプログラムでオーディオを実行しようとすると、次のように何も出力されません。

speaker-test -c 2

別のプログラムがサウンド カードにアクセスしているときは、音が出ません。頻繁にオーディオを発するプログラムを一時停止して他のプログラムを起動しますが、現在の状況ではそれができないのでイライラします。

出力は次のとおりですlspci | grep -i audio:

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)

そこで私の質問は、「これを、適切かつシンプルで自動化された方法で設定するにはどうしたらいいでしょうか。問題なくオーディオを設定できるプログラムをインストールできますか。」です。

答え1

plughw簡単で自動化された良い方法があります。すべてのプログラムが、必要なオーディオ デバイスを指定するときに ではなくを使用するようにするだけです。これにより、実際のデバイスの前に、hw自動的に生成された が配置されます。dmixhw

これをデフォルトにするには、.asoundrcファイルは次のようになります。

pcm.!default "plughw:2,0"
ctl.!default "plughw:2,0"

必要なサウンドカードを識別する正しい番号を入力します (例を参照aplay -l)。

編集

はい、数字はカードそしてデバイスこの順番で。3番目を追加することもできますサブデバイスサブデバイスが複数ある場合はその数 ( plughw:2,0,1)。

関連情報