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!