Я перечисляю смесители с AudioSystem.getMixerInfo()
. Я обнаружил, что возвращающиеся смесители иногда дублируются. Расследование показало, что возвращены 4 смесителя класса DirectAudioDevice
и 6 смесителей класса PortMixer
. Оба класса являются недокументированными классами Java API.
Я хочу предоставить пользователю только одну копию каждого микрофона, в то время как в моем случае они вернулись как DirectAudioDevice
и PortMixer
.
Итак, вопрос: в чем разница между этими двумя классами и как их различать во время выполнения?
UPDATE
Я обнаружил, что DirectAudioDevice
версия каждого микрофона ничего не возвращает на getLine(Port.Info.MICROPHONE)
, в то время как возвращает одну строку на getTargetLineInfo()
, тогда как PortMixer
версии микрофонов возвращает что-то на getLine(Port.Info.MICROPHONE)
, в то время как возвращаются и целевые и исходные строки в то время как цель называется "громкость" ...