我正在用AudioSystem.getMixerInfo()
. 我发现返回的混音器有时会重复。调查显示,退回的混频器有4台属于等级DirectAudioDevice
,6台属于等级PortMixer
。这两个类都是 Java API 的未记录类。
我希望向用户展示每个麦克风只有一个副本,而在我的情况下,他们返回了DirectAudioDevice
和PortMixer
.
那么,问题来了:这两个类有什么区别,在运行时如何区分呢?
更新
我发现DirectAudioDevice
每个麦克风的版本getLine(Port.Info.MICROPHONE)
在返回一条线时什么都不返回getTargetLineInfo()
,而PortMixer
麦克风的版本在返回一些东西getLine(Port.Info.MICROPHONE)
时返回目标线和源线,而目标线的标题是“响度”......