Alle ALSA-Geräte auflisten

Alle ALSA-Geräte auflisten

Ich verwende PulseAudio auf meinem System und habe die Anweisungen zum Hinzufügen einesÜberwachungsgerätgemäß dem PulseAudio-Wiki. Das Monitorgerät selbst funktioniert und wird in Apps wie Audacity ordnungsgemäß registriert/funktioniert, aber ich kann das Gerät nicht dazu bringen, sich über eines der Befehlszeilentools anzuzeigen. aplay -Lgibt ungefähr dieselbe Liste zurück wie Audacity, aber praktischerweise fehlt das Monitorgerät.

Mein Endziel ist es, die Ausgabe in einer Java-App zu analysieren und sie schließlich an FFmpeg weiterzuleiten. Ich kann über die Java-Audio-APIs erkennen, dass das Gerät existiert, da zwei generische „Capture Source Ports“ angezeigt werden, aber es wird kein Name für das Gerät angegeben, und das Ziel ist, dass es vom Benutzer auf einigermaßen benutzerfreundliche Weise ausgewählt werden kann.

Gibt es Möglichkeiten, das Überwachungsgerät entweder in einer Befehlszeilen-App oder über eine Java-API/-Bibliothek anzuzeigen?

Dank im Voraus!

Antwort1

Verwenden Sie die Befehle pacmd list-sourcesoder pactl list, um PulseAudio-Geräte anzuzeigen. Um nur Namen anzuzeigen, können Sie die Ausgabe mit greppen. Dies ist ein Beispiel ausHäufig gestellte Fragen zu PulseAudio

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

Mit zusätzlichem grep auf „.monitor“ können Sie nur Monitorgeräte abrufen.

Antwort2

Kurz gesagt, es sieht so aus, als ob das Problem auf der Alsa-Ebene und nicht auf der Pulseaudio-Ebene liegt. Wenn Sie die Alsa-Geräte sehen möchten, versuchen Sie es.

aplay -l

(aber aplay -L, das Sie bereits erwähnt haben, ist ähnlich).

pulseaudio sitzt auf alsa. Wenn man sich also pactl ansieht, kommt eine weitere Softwareschicht hinzu ... siehe hier troubleshooters.com/linux/sound/sound_troubleshooting.htm. Wenn alsa das Soundgerät nicht sehen kann, dann wird pulseaudio es sicher auch nicht sehen?

Antwort3

Es ist brutal einfach:

Hier werden Ihnen die Senken/Ausgabeports angezeigt:

aplay -L

Da es sich bei einem „Monitor“ um einen Quell-/Eingabeport handelt, benötigen Sie Folgendes:

arecord -L

Update: aplay und arecord befinden sich im Paket „alsa-utils“. So installieren Sie es:

sudo apt install alsa-utils

verwandte Informationen