JohnTさんの回答は、良い基本的なことを教えてくれています。私はそれに続いて、システム上のデバイスを見つける方法を説明します。aplay -l “を使って、システム上のデバイスのリストを取得します。hw:X,Yは、このハードウェアのマッピングから来ています – この場合、Xはカード番号、Yはデバイス**番号です。
$ aplay -l # note lower-case "L" option
****List of PLAYBACK Hardware Devices****
card 0: T71Space [Terratec Aureon 7.1-Space], device 0: ICE1724 [ICE1724]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 1: IEC1724 IEC958 [IEC1724 IEC958]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: T71Space [Terratec Aureon 7.1-Space], device 2: ICE1724 Surrounds [ICE1724 Surround PCM]
Subdevices: 3/3
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
これらの USB デバイスは、接続するたびに同じデバイス番号を取得するとは限らないので、 hw:X,Y デバイスは変更される可能性があります。最も簡単な答えは、デスクトップシステムの場合、GNOME/KDE/Xfce 設定ツールを試して、変更を拾うのに十分なスマートさがあるかどうかを確認することです。
複雑な方法ですが、デスクトップシステムでこれをやっていない場合は……面白くなります。"hw:X,Y” の代わりに using device aliases を使うことができるかもしれません – これは “aplay -L” の出力が示しているものです。something:CARD=FOO,DEV=Y" はエイリアスであり、"hw:X,Y" の X は変更されるかもしれませんが、異なるデバイスプラグイン間ではおそらく変更されません。(毎回同じ USB ドングルを使用していると仮定して)
$ aplay -L
default:CARD=CK804
NVidia CK804, NVidia CK804
Default Audio Device
front:CARD=CK804,DEV=0 # hw:0,0
NVidia CK804, NVidia CK804
Front speakers
surround40:CARD=CK804,DEV=0 # hw:0,1
NVidia CK804, NVidia CK804
4.0 Surround output to Front and Rear speakers
だから aplay コマンドは “aplay -D front:CARD=CK804,DEV=0 somefile.wav” となり、.asoundrc の中で同じデバイス名を使用することができます。
もっと低いレベルの、実際のカーネルデバイスで安定したものが必要な場合は、 udev がいいでしょう – システムにデバイスをホットプラグできるようにするシステムです。これはデバイスをシステムにホットプラグできるようにするシステムです。