当我查询我的Macintosh上的所有混合器(MacPro 13inch; 10.13.1)时,所有显示的是6个迭代,"默认音频设备,版本未知版本"。
我只是想知道为什么是这样,以及我如何能够修复它。如果很重要,我将通过Netbeans 8.2
编译代码这是方法:
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
}
}
您的索引中的 mixerInfo
是 [0]
,因此您只是列出第一个条目6次,使用[i]
:
for (int i = 0; i < mixerInfo.length; i++) {
System.out.println(mixerInfo[i]);
}
请注意,您不需要toString()
呼叫,因为println
会为您做到这一点。
假设您使用的是Java 5或更高版本,最好使用"增强循环",从而消除了使用错误的索引的机会:
for (Mixer.Info info : mixerInfo) {
System.out.println(info);
}
在Java 8或以后您甚至可以使用流:
Arrays.stream(mixerInfo).forEachOrdered(System.out::println);