2017-11-26 2 views
-1

Wenn ich alle Mischer auf meinem Macintosh abfragen (MacPro 13inch; 10.13.1), erscheint nur 6 Iterationen von "Standard-Audiogerät, Version unbekannte Version".Mac zeigt nur "Standard-Audiogerät" bei der Abfrage von Mischern

Ich frage mich einfach, warum das ist, und wie ich es vielleicht beheben könnte. Wenn es darauf ankommt, I 8.2

Hier den Code durch NetBeans am Kompilieren ist die Methode:

public static void displayMixers() { 
     Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo(); //save info of all mixers on system to an array 
     System.out.println("Available mixers: "); 
     for (int i = 0; i < mixerInfo.length; i++) { //for loop that iterates over the array we just established 
      System.out.println(mixerInfo[0].toString()); //print description of mixer each time 
     } 
    } 
+0

Warum wird das heruntergeregelt? Ich sehe nichts in dieser Frage, die gegen die Bedingungen sein sollte? – avghdev

Antwort

1

Ihr Index in mixerInfo ist [0] so listen Sie nur den ersten Eintrag 6-mal, Verwenden [i]:

for (int i = 0; i < mixerInfo.length; i++) { 
    System.out.println(mixerInfo[i]); 
} 

Beachten Sie, dass Sie den toString() Anruf nicht benötigen, da println das für Sie tun wird.

Sie verwenden Java 5 Unter der Annahme oder später wäre es besser, die ‚for-Schleife verbessert‘ zu verwenden, die die Chance entfernt den falschen Index der Verwendung:

for (Mixer.Info info : mixerInfo) { 
    System.out.println(info); 
} 

Auf Java 8 oder später könnte man sogar verwenden ein stream:

Arrays.stream(mixerInfo).forEachOrdered(System.out::println); 
+0

Ah ich sehe, dummer Fehler meinerseits. Vielen Dank! – avghdev

Verwandte Themen