Die Antwort von JohnT gibt eine gute Grundlage. Ich werde es weiterverfolgen, wie Sie die Geräte auf Ihrem System finden. Verwenden Sie aplay -l
um eine Liste der Geräte auf Ihrem System zu erhalten. Das hw:X,Y stammt aus dieser Zuordnung Ihrer Hardware – in diesem Fall X ist die Karte Zahl, während Y ist das Gerät Nummer.
$ 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 um USB-Geräte handelt, die möglicherweise nicht immer die gleichen Gerätenummern erhalten, wenn sie angeschlossen werden, wird das hw:X,Y Gerät kann sich ändern. Die einfachste Antwort ist, für ein Desktop-System die GNOME/KDE/Xfce-Konfigurationstools auszuprobieren und zu sehen, ob sie intelligent genug sind, um die Änderungen zu übernehmen.
Der komplexe Weg, wenn Sie dies nicht mit einem Desktop-System tun, wird ... interessant. Möglicherweise können Sie mit Gerätealiasnamen anstelle von hw:X,Y davonkommen -- das ist die Ausgabe von aplay -L
zeigt an. Das etwas:CARD=FOO,DEV=Y stuff ist der Alias und ändert sich wahrscheinlich nicht zwischen verschiedenen Geräte-Plug-Ins, wobei das X in hw:X,Y könnte. (Vorausgesetzt, 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
werden , und Sie können denselben Gerätenamen in Ihrem .asoundrc.
Wenn Sie etwas Stabileres auf einer noch niedrigeren Ebene benötigen, tatsächliche Kernel-Geräte, udev ist 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 Handbuchseite), die es Geräten ermöglichen, denselben Gerätenamen zu erhalten, wenn sie angeschlossen sind.
hw:0,0
gibt das Standardgerät auf der Standard-Soundkarte an. Um auf das erste Gerät Ihrer zweiten Soundkarte zuzugreifen, würden Sie hw:1,0
angeben . Diese sind in Ihrem .asoundrc
angegeben . Mehr dazu hier.