Ввод звука Java в OS X. Регулятор громкости не поддерживается?Сбои - PullRequest
1 голос
/ 29 мая 2011

Как для встроенного микрофона, так и для встроенного входа на моем MacBook Pro следующие строки возвращают false:

line.isControlSupported(FloatControl.Type.VOLUME);
line.isControlSupported(FloatControl.Type.MASTER_GAIN);

line является экземпляром TargetDataLine ибыл успешно open() 'd.

Поскольку я не могу установить усиление, любой звук, который я записываю, находится на чрезвычайно низком уровне и затоплен шумом.JVM (1.6.0_24, com.apple.javajdk16.cmd, OS X 10.6.7) также часто дает сбой при вызове TargetDataLine.close().

Кому-нибудь повезло с этим?

1 Ответ

0 голосов
/ 30 мая 2011

Проверьте это - вот демонстрационные java-приложения для OS X.
http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo/

Также есть рабочая регулировка усиления по оси x.

Основано на комментариях:

Проверьте это тоже: http://www.jsresources.org/faq_audio.html#recording_volume, но, честно говоря, никогда не пробовал.На странице:

Очевидным решением было бы получить объект Control типа VOLUME или MASTER_GAIN для TargetDataLine и манипулировать томом через этот объект.Однако это невозможно, поскольку ни одна из известных реализаций Java Sound не поддерживает какие-либо элементы управления для экземпляров TargetDataLine.

Что вы можете сделать, это использовать системный микшер для управления громкостью записи - это влияет на аппаратные настройки взвуковая карта.Одна возможность - использовать приложение микшера операционной системы.Другая возможность - использовать линии портов из приложения Java Sound.Подробнее см. Раздел «Порты».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...