Mac 仅在查询混音器时显示"Default Audio Device"



当我查询我的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);

最新更新