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 장치가 변경 될 수 있습니다. 가장 간단한 대답은 데스크탑 시스템의 경우 그놈 / KDE / Xfce 구성 도구를 사용해보고 변경 사항을 적용 할 수있을만큼 똑똑한 지 확인하는 것입니다.
복잡한 방법은 데스크탑 시스템 으로이 작업을 수행하지 않으면 ... 흥미 롭습니다. "hw : X, Y"대신 장치 별명 을 사용하여 벗어날 수 있습니다 . "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 가 원하는 것입니다. 장치는 시스템에 장치를 핫 플러그 할 수있는 시스템입니다. 당신은 장치가 연결될 때 같은 장치 이름을 얻을 수있게하는 udev (그리고 여기 man 페이지가 있습니다 )에 대한 규칙을 작성할 수 있습니다 .