GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué significan los dispositivos ALSA como hw:0,0? ¿Cómo puedo saber cuál usar?

La respuesta de JohnT da una buena base. Lo seguiré con cómo encontrar los dispositivos en su sistema. Usa aplay -l para obtener una lista de los dispositivos en su sistema. El hw:X,Y proviene de esta asignación de su hardware; en este caso, X es la tarjeta número, mientras que Y es el dispositivo número.

$ 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

Dado que se trata de dispositivos USB que no siempre obtienen los mismos números de dispositivo cada vez que se conectan, hw:X,Y dispositivo podría cambiar. La respuesta más simple es, para un sistema de escritorio, pruebe las herramientas de configuración de GNOME/KDE/Xfce y vea si son lo suficientemente inteligentes como para detectar los cambios.

La forma compleja, si no está haciendo esto con un sistema de escritorio, se vuelve... interesante. Es posible que pueda salirse con la suya usando alias de dispositivo en lugar de hw:X,Y -- esta es la salida de aplay -L espectáculos El algo:CARD=FOO,DEV=Y cosas es el alias, y probablemente no cambiará entre diferentes complementos de dispositivos, donde la X en hw:X,Y puede que. (Suponiendo que esté usando el mismo dongle USB cada vez).

$ 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

Entonces su comando aplay se convertiría en aplay -D front:CARD=CK804,DEV=0 somefile.wav , y puede usar el mismo nombre de dispositivo en su .asoundrc.

Si necesita algo más estable a un nivel aún más bajo, dispositivos kernel reales, udev es lo que desea:es el sistema el que permite la conexión en caliente de dispositivos al sistema. Puede escribir reglas para udev (y aquí está la página de manual) que permitirán que los dispositivos obtengan el mismo nombre de dispositivo cuando se conecten.


hw:0,0 especifica el dispositivo predeterminado, en la tarjeta de sonido predeterminada. Para acceder al primer dispositivo de su segunda tarjeta de sonido, debe especificar hw:1,0 . Estos se especifican en su .asoundrc . Más sobre todo esto aquí.


Linux
  1. ¿Cómo usar `cuál` en un comando con alias?

  2. Chroot "cárcel":¿qué es y cómo usarlo?

  3. ¿Cómo decirle a Firefox que use otro dispositivo Alsa?

  4. ¿Cómo encontrar qué puerto serie está en uso?

  5. ¿Cómo averiguo qué /dev es una unidad flash USB?

Cómo usar CURL como un profesional en Linux

¿Qué es EasyApache y cómo lo uso?

¿Qué es BusyBox en Linux? ¿Cómo usarlo?

Cómo agregar dispositivos para monitorear con ManageEngine OpManager

Cómo detectar y administrar dispositivos en Linux

Cómo usar el comando which en Linux