Mac查询混频器时只显示"Default Audio Device"

Mac only displays "Default Audio Device" when querying mixers

当我在我的 Macintosh(MacPro 13 英寸;10.13.1)上查询所有混音器时,显示的只是 "Default Audio Device, version Unknown Version".

的 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 或更高版本,最好使用 'enhanced for loop' 以消除使用错误索引的可能性:

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

在 Java 8 或更高版本上,您甚至可以使用流:

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