Ich habe immer wieder gesucht und kann keine Erklärung dafür finden, was "hw: 0,0" bedeutet. Wie bestimme ich die Nummer meiner USB-Audiokarte? Bei MPD muss ich Folgendes eingeben:
audio_output {
type "alsa"
name "Sound Card"
device "hw:0,0" # optional
format "44100:16:2" # optional
}
Wenn ich "alsamixer -c 1" mache, öffnet sich der Lautstärkeregler der USB-Karte, aber das hilft mir wirklich nicht.
Wo finde ich eine Liste der Gerätenamen / -nummern auf meinem System? Sind sie widerstandsfähig gegen Hardwareänderungen? Wenn ich Karte 2 entferne, wird Karte 3 zu Karte 2? Gibt es andere Möglichkeiten, Geräte zu identifizieren? Wo finde ich Dokumentation für irgendetwas davon?
Antworten:
JohnTs Antwort gibt eine gute Grundlage. Im Anschluss werde ich erfahren, wie Sie die Geräte auf Ihrem System finden. Verwenden Sie "aplay -l", um eine Liste der Geräte in Ihrem System abzurufen. Das hw: X, Y ergibt sich aus dieser Zuordnung Ihrer Hardware. In diesem Fall ist X die Kartennummer und Y die Gerätenummer .
Da es sich um USB-Geräte handelt, die möglicherweise nicht bei jedem Anschließen die gleichen Gerätenummern erhalten, kann sich das hw: X, Y-Gerät ändern. Die einfachste Antwort ist, dass Sie für ein Desktop-System die GNOME / KDE / Xfce-Konfigurationstools ausprobieren und prüfen, ob sie intelligent genug sind, um die Änderungen zu übernehmen.
Der komplexe Weg, wenn Sie dies nicht mit einem Desktop-System tun, wird ... interessant. Sie könnten in der Lage sein , mit wegzukommen mit Geräte - Aliase , anstatt die „hw: X, Y“ - das ist , was die Ausgabe von „aplay -L“ zeigt. Das Zeug "something: CARD = FOO, DEV = Y" ist der Alias und wird wahrscheinlich nicht zwischen verschiedenen Geräte-Plug-Ins wechseln, wo das X in "hw: X, Y" sein könnte. (Angenommen, Sie verwenden jedes Mal denselben USB-Dongle.)
Ihr aplay-Befehl würde also zu "aplay -D front: CARD = CK804, DEV = 0 somefile.wav", und Sie können denselben Gerätenamen in Ihrer .asoundrc-Datei verwenden.
Wenn Sie etwas Stabileres auf einer noch niedrigeren Ebene benötigen, nämlich 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 (und hier die Manpage ) schreiben , die es Geräten ermöglichen, denselben Gerätenamen zu erhalten, wenn sie angeschlossen sind.
quelle
aplay -L
, dass das nicht die gleiche Ausgabe liefert wieaplay -l
. Seufzersurround40:CARD=CK804,DEV=0
isthw:0,1
? Soweit ich das beurteilen kann wirdhw:0,0
angegeben, dass es sich umDEV=0
eine andere Konfiguration handelt (4 Kanäle statt 2 wie infront:CARD=CK804,DEV=0
).hw:0,0
Gibt das Standardgerät auf der Standard-Soundkarte an. Um auf das erste Gerät Ihrer zweiten Soundkarte zuzugreifen, geben Sie Folgendes anhw:1,0
. Diese sind in Ihrer angegeben.asoundrc
. Mehr dazu hier .quelle