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これにより、自動的に作成されたデバイスがdmix実際のデバイスの前に置かれますhw

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

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

正しい番号を使用して目的のサウンドカードを識別します(例を参照aplay -l)。

編集する

うん、数字はカードそして装備そのような順序で。 3番目を追加できます。サブデバイスサブデバイスが複数ある場合は数字(plughw:2,0,1)。

関連情報