
複数のプログラムがサウンド カードにアクセスして同時にオーディオを出力できるように、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
)。