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 -L
devuelve 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-sources
o pactl list
para 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