JohnT’s antwoord geeft een goede basis. Ik zal het opvolgen met hoe je de apparaten op je systeem kunt vinden. Gebruik “aplay -l” om een lijst te krijgen van de apparaten op uw systeem. De hw:X,Y komt van deze mapping van je hardware – in dit geval is X het kaart nummer, terwijl Y het apparaat nummer is.
$ 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
Aangezien dit USB-apparaten zijn die niet altijd dezelfde apparaatnummers krijgen elke keer dat ze worden aangesloten, kan het hw:X,Y apparaat veranderen. Het eenvoudigste antwoord is om voor een desktopsysteem de configuratieprogramma’s van GNOME/KDE/Xfce te proberen, en te zien of die slim genoeg zijn om de veranderingen op te pikken.
De ingewikkelde manier, als je dit niet met een desktop systeem doet, wordt … interessant. U kunt misschien wegkomen met het gebruik van device aliases in plaats van de “hw:X,Y” – dit is wat de uitvoer van “aplay -L” laat zien. Het “something:CARD=FOO,DEV=Y” spul is de alias, en zal waarschijnlijk niet veranderen tussen verschillende device plug-ins, waar de X in “hw:X,Y” dat misschien wel doet. (Aangenomen dat je iedere keer dezelfde USB dongle gebruikt.)
$ 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
Dus je aplay commando zou worden “aplay -D front:CARD=CK804,DEV=0 somefile.wav”, en je kunt dezelfde devicenaam gebruiken in je .asoundrc.
Als je iets stabielers nodig hebt op een nog lager niveau, echte kernel apparaten, dan is udev wat je wilt – het is het systeem dat het mogelijk maakt om apparaten hotpluggen in het systeem. U kunt regels schrijven voor udev (en hier is de man page ) die apparaten toestaan om dezelfde devicenaam te krijgen wanneer ze worden aangesloten.