Listar todos los dispositivos ALSA

Listar todos los dispositivos ALSA

Estoy usando PulseAudio en mi sistema y seguí las instrucciones para agregar undispositivo de monitoreosegún la wiki de PulseAudio. El dispositivo monitor en sí funciona y se registra/funciona correctamente en aplicaciones como Audacity, pero no puedo hacer que el dispositivo se muestre a través de ninguna de las herramientas de línea de comandos. aplay -Ldevuelve aproximadamente la misma lista que Audacity, pero convenientemente le falta el dispositivo monitor.

Mi objetivo final es analizar el resultado en una aplicación Java y, finalmente, pasarlo a FFmpeg. Puedo decir que el dispositivo existe a través de las API de audio de Java, ya que aparecen 2 "puertos de origen de captura" genéricos, pero no proporciona un nombre para el dispositivo, y el objetivo es que el usuario pueda seleccionarlo en un manera algo amigable.

¿Hay alguna forma de hacer que el dispositivo monitor aparezca en una aplicación de línea de comandos o mediante una API/biblioteca de Java?

¡Gracias de antemano!

Respuesta1

Utilice los comandos pacmd list-sourceso pactl listpara mostrar los dispositivos PulseAudio. Para mostrar solo nombres, puede buscar en su salida. Este es un ejemplo dePreguntas frecuentes sobre PulseAudio

$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2

Con grep adicional en ".monitor" solo puede obtener dispositivos de monitoreo.

Respuesta2

En resumen, ¿parece que el problema está en el nivel de alsa y no en el nivel de pulseaudio? Si quieres ver los dispositivos alsa prueba.

aplay -l

(pero aplay -L que ya mencionaste es similar).

pulseaudio se encuentra encima de alsa. Entonces, mirar pactl trae consigo otra capa de software... consulte aquí problemshooters.com/linux/sound/sound_troubleshooting.htm. Si tampoco puede ver el dispositivo de sonido, ¿ciertamente pulseaudio no lo hará?

Respuesta3

Es brutalmente simple:

Esto le muestra los disipadores/puertos de salida:

aplay -L

Dado que un 'monitor' es un puerto de origen/entrada, querrás esto:

arecord -L

Actualización: aplay y arecord están en el paquete 'alsa-utils'. Instalar:

sudo apt install alsa-utils

información relacionada