Как отличить микшеры DirectAudioDevice и PortMixer? - PullRequest
1 голос
/ 23 марта 2012

Я перечисляю смесители с AudioSystem.getMixerInfo(). Я обнаружил, что возвращающиеся смесители иногда дублируются. Расследование показало, что возвращены 4 смесителя класса DirectAudioDevice и 6 смесителей класса PortMixer. Оба класса являются недокументированными классами Java API.

Я хочу предоставить пользователю только одну копию каждого микрофона, в то время как в моем случае они вернулись как DirectAudioDevice и PortMixer.

Итак, вопрос: в чем разница между этими двумя классами и как их различать во время выполнения?

UPDATE

Я обнаружил, что DirectAudioDevice версия каждого микрофона ничего не возвращает на getLine(Port.Info.MICROPHONE), в то время как возвращает одну строку на getTargetLineInfo(), тогда как PortMixer версии микрофонов возвращает что-то на getLine(Port.Info.MICROPHONE), в то время как возвращаются и целевые и исходные строки в то время как цель называется "громкость" ...

...