GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bedeuten ALSA-Geräte wie hw:0,0? Wie finde ich heraus, welche ich verwenden soll?

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.

verwenden

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.


Linux
  1. Wie verwendet man „what“ für einen Alias-Befehl?

  2. Chroot „Gefängnis“ – Was ist das und wie benutzt man es?

  3. Wie finde ich heraus, welcher serielle Port verwendet wird?

  4. Installieren von Grub 2 auf Mdadm, welches Gerät?

  5. Wie finde ich heraus, welches /dev ein USB-Flash-Laufwerk ist?

So verwenden Sie CURL wie ein Profi unter Linux

Was ist EasyApache und wie verwende ich es?

Was ist BusyBox unter Linux? Wie benutzt man es?

So fügen Sie mit ManageEngine OpManager zu überwachende Geräte hinzu

So erkennen und verwalten Sie Geräte unter Linux

So verwenden Sie den which-Befehl in Linux