Suche nach allen Geräten, die ich verwenden können, um zu spielen, PCM mit ALSA
Verwende ich ALSA zu spielen, PCM-samples. Öffne ich den PCM-stream mit dieser Funktion:
int snd_pcm_open(snd_pcm_t** pcmp,
const char* name,
snd_pcm_stream_t stream,
int mode);
Ich bin derzeit mit "default" als name-parameter. Ich möchte in der Lage sein, zu wählen, andere Geräte. Was ich nicht verstehen kann ist, wie kann ich bestimmen, was sind die Namen der anderen verfügbaren Geräte.
Befestigte ich ein USB-Mikrofon zu meinem system und aplay und amixer scheint das neue Gerät erkennen. Wie bestimme ich den Namen von diesem Gerät? Gibt es eine ALSA-Funktion, um eine Liste der verfügbaren Geräte mit Ihren jeweiligen Namen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Sie verwenden können, snd_device_name_hint für das auflisten der Geräte.
Hier ist ein Beispiel. Hüten Sie sich vor, dass ich noch nicht kompiliert !
name
ist nicht freigegeben, wenn im zweiten Teil der if-Anweisung0 != strcmp("null", name)
wenn der name gleich"null"
. Vielleicht fügen Sie eine zusätzliche, wenn innerhalb der if zu tun, etwas nützliches mit dem Namen, wenn es nicht gleich"null"
, aber immer kostenlos.Es war meine erste Anforderungen an einen linux - /unix-Projekte, wo ich brauche, um zu wissen, über alle verfügbaren audio-Geräte-Fähigkeit und-Namen. Dann muss ich mit diesen Geräten zu erfassen und zu plaback die audio. Was ich gemacht habe, ist ziemlich einfach. Es ist ein linux/unix Befehl, der verwendet wird, um die Geräte zu finden, die durch die alsa-utility unter linux.
Ist es:
Nun, was ich getan habe ist nur ein Programm zu geben, das sich wie das von alsa.
Für alle Hilfe, die ich gemacht habe (.so) - Bibliothek und eine Beispielanwendung demonstriert die Benutzung dieser Bibliothek in c++.
Die Ausgabe von " meine Bibliothek ist wie-
Dieser Bibliothek können auch die Aufnahme und Wiedergabe von Echtzeit-audio-Daten.
Es ist mit der Dokumentation in IdeaAudio Bibliothek mit Duplex-Alsa-Audio