Odpowiedź JohnT daje dobre podstawy. Sprawdzę, jak znaleźć urządzenia w twoim systemie. Użyj „aplay -l”, aby uzyskać listę urządzeń w systemie. Hw: X, Y pochodzi z tego odwzorowania sprzętu - w tym przypadku X jest karta numer, a Y to urządzenie numer.
$ 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 nie zawsze otrzymują te same numery urządzeń przy każdym podłączeniu, urządzenie hw: X, Y może się zmienić. Najprostsza odpowiedź brzmi: w przypadku systemu stacjonarnego wypróbuj narzędzia konfiguracyjne GNOME / KDE / Xfce i sprawdź, czy są wystarczająco inteligentne, aby odebrać zmiany.
Złożony sposób, jeśli nie robisz tego z systemem stacjonarnym, staje się ... interesujący. Być może uda Ci się uniknąć użycia aliasów urządzeń zamiast „hw: X, Y” - tak pokazuje wyjście „aplay -L”. „Coś: CARD = FOO, DEV = Y” to alias i prawdopodobnie nie zmieni się pomiędzy różnymi wtyczkami urządzeń, gdzie X w „hw: X, Y” może. (Zakładając, że za każdym razem używasz tego samego klucza 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
Więc twoje polecenie aplay zmieni się w „aplay -D front: CARD = CK804, DEV = 0 somefile.wav”, i możesz użyć tej samej nazwy pliku w .asoundrc.
Jeśli potrzebujesz czegoś bardziej stabilnego na jeszcze niższym poziomie, rzeczywistych urządzeń jądra, udev jest tym, czego chcesz - to system, który pozwala na podłączanie urządzeń do systemu. Możesz napisać reguły dla udev (i tutaj jest strona podręcznika ), które pozwolą urządzeniom uzyskać tę samą nazwę urządzenia po podłączeniu.