Die Antwort von JohnT gibt eine gute Grundlage. Ich werde dem nachgehen, wie Sie die Geräte in Ihrem System finden. Verwenden Sie "aplay -l", um eine Liste der Geräte in Ihrem System abzurufen. Das hw: X, Y stammt von dieser Zuordnung Ihrer Hardware - in diesem Fall ist X die Kartennummer, während Y die Gerätenummer ist.
$ 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
Da es sich hierbei um USB-Geräte handelt, die bei jedem Anschließen möglicherweise nicht immer die gleiche Gerätenummer erhalten, kann sich das hw: X, Y-Gerät ändern. Die einfachste Antwort ist, dass Sie für ein Desktopsystem die Konfigurationswerkzeuge von GNOME / KDE / Xfce ausprobieren und prüfen, ob sie intelligent genug sind, um die Änderungen zu übernehmen.
Die komplexe Art und Weise, wenn Sie dies nicht mit einem Desktop-System tun, wird ... interessant. Möglicherweise kommen Sie mit der Verwendung von Gerätealiasnamen anstelle von "hw: X, Y" in Berührung - dies zeigt die Ausgabe von "aplay -L". Das Zeug "etwas: KARTE = FOO, DEV = Y" ist der Alias und wird wahrscheinlich nicht zwischen verschiedenen Geräte-Plug-Ins wechseln, wobei das X in "hw: X, Y" möglicherweise angezeigt wird. (Angenommen, Sie verwenden jedes Mal denselben USB-Dongle.)
$ 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
Ihr aplay-Befehl würde also "aplay -D front: CARD = CK804, DEV = 0 somefile.wav" sein, und Sie können denselben Gerätenamen in .asoundrc verwenden.
Wenn Sie etwas stabileres auf einer noch niedrigeren Ebene benötigen, echte Kernel-Geräte, ist udev genau das, was Sie wollen - es ist das System, das das Hotplugging von Geräten in das System ermöglicht. Sie können Regeln für udev schreiben (und hier ist die Manpage ), die es Geräten ermöglichen, beim Anschließen den gleichen Gerätenamen zu erhalten.