Java Sound: Ermitteln des Standardmikrofonanschlusses

8

Unter Verwendung von Java versuche ich, Ton vom Standardmikrofon aufzunehmen und den aktuellen Lautstärkepegel und Stummschaltungsstatus anzuzeigen (wie auf OS-Ebene eingestellt, bin nicht daran interessiert, Byte zu prüfen, wenn möglich). Bisher kann ich die TargetDataLine abrufen und mit dem folgenden Code darauf aufnehmen:

TargetDataLine line = (TargetDataLine) AudioSystem.getLine(new DataLine.Info(TargetDataLine.class, formato));

Dies funktioniert hervorragend unter Windows, wobei die Zeile das Standardmikrofon ist, das mit dem Betriebssystem ausgewählt wurde.

Um jetzt Lautstärke / Stummschaltung zu erhalten, habe ich den folgenden Code:

%Vor%

Es gibt zwei Mikrofone in meinem Setup und ich habe keine Möglichkeit gefunden zu wissen, welches das Standardmikrofon ist (momentan ist es das zweite im Array).

Versucht Line port = AudioSystem.getLine(Port.Info.MICROPHONE); und es gibt die erste verfügbare (und es ist nicht der Standard in dieser Instanz).

Gibt es also eine Möglichkeit, den Standardmikrofonanschluss zu erhalten, der sich auf die TargetDataLine bezieht?

Danke!

    
laurentius 19.01.2018, 14:11
quelle

1 Antwort

2

Um alle in Ihrem System installierten Mikrofone zu erhalten, können Sie sie wie folgt auflisten:

%Vor%

Ausgehend von diesem können Sie den Standard identifizieren ... Zum Beispiel in meinem MacBook der Standard hat diesen Namen "Built-in-Mikrofon"

    
navy1978 19.01.2018 16:58
quelle

Tags und Links