Java Audio DataLine.getLevel всегда возвращает 0 - PullRequest
3 голосов
/ 02 февраля 2012

Я пытаюсь получить громкость строки аудиоданных, а метод getLevel () возвращает 0.0

.

Документация по API здесь http://docs.oracle.com/javase/6/docs/api/javax/sound/sampled/DataLine.html#getLevel()

Если бы кто-нибудь мог пролить свет, это было бы очень признательно.

Спасибо.

1 Ответ

1 голос
/ 02 февраля 2012

У меня была похожая проблема некоторое время назад, и осмотр вокруг не нашел хорошего решения - он работал на некоторых платформах, но не надежно.

Я так и не понял, почему, но мой обходной путь читал байтыот линии данных, а затем при вычислении уровня через RMS (среднеквадратичное значение) всех байтов в последних, скажем, 100 мс (в зависимости от того, какой интервал обновления вы хотите.) Это простой фрагмент кода, нохорошо выполняет свою работу.

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