Odpowiedź JohnT'a daje dobre podstawy. Podam jak znaleźć urządzenia w twoim systemie. Użyj “aplay -l” aby uzyskać listę urządzeń w twoim systemie. hw:X,Y pochodzi z mapowania twojego sprzętu – w tym przypadku, X jest numerem karty, a Y jest numerem urządzenia.
$ 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
Ponieważ są to urządzenia USB, które mogą nie zawsze mieć ten sam numer urządzenia za każdym razem, gdy są podłączane, hw:X,Y urządzenia może się zmienić. Najprostszą odpowiedzią jest, dla systemu stacjonarnego, wypróbowanie narzędzi konfiguracyjnych GNOME/KDE/Xfce i sprawdzenie, czy są one wystarczająco inteligentne, aby wychwycić zmiany.
Złożony sposób, jeśli nie robisz tego z systemem stacjonarnym, staje się … interesujący. Możesz być w stanie uciec z użyciem device aliases zamiast “hw:X,Y” - to właśnie pokazuje wyjście “aplay -L”. To “something:CARD=FOO,DEV=Y” jest aliasem i prawdopodobnie nie będzie się zmieniać pomiędzy różnymi wtyczkami urządzeń, podczas gdy X w “hw:X,Y” może. (Zakładając, że używasz tego samego klucza USB za każdym razem.)
$ 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
Tak więc twoja komenda aplay będzie brzmiała “aplay -D front:CARD=CK804,DEV=0 somefile.wav”, i możesz użyć tej samej nazwy urządzenia w twoim .asoundrc.
Jeśli potrzebujesz czegoś bardziej stabilnego na jeszcze niższym poziomie, rzeczywistych urządzeń jądra, udev jest tym, czego potrzebujesz – jest to system, który pozwala na podłączanie urządzeń do systemu na gorąco. Możesz napisać reguły dla udev (i tutaj jest strona man ), które pozwolą urządzeniom na otrzymanie tej samej nazwy devicen po podłączeniu.