我正在使用AudioSystem.getMixerInfo()
枚举混音器。我发现返回的混音器有时会重复。调查显示,返回的4台混合器属于DirectAudioDevice
级,6台混合器属于PortMixer
级。这两个类都是未记录的Java API类。
我希望向用户展示每个麦克风只有一个副本,而在我的情况下,他们同时返回DirectAudioDevice
和PortMixer
。
所以,问题是:这两个类之间有什么区别以及如何在运行时区分它们?
更新
我发现每个麦克风的DirectAudioDevice
版本在getLine(Port.Info.MICROPHONE)
上返回任何内容,而在getTargetLineInfo()
上返回一行,而PortMixer
版本的麦克风返回getLine(Port.Info.MICROPHONE)
上的内容同时返回目标和源线,而目标1则标题为“响度”......