VU (Audio) Meter при записи звука в Android - PullRequest
4 голосов
/ 20 апреля 2011

Я новичок в разработке для Android и для своего первого приложения я создал приложение, которое позволяет записывать аудио.Аудиозапись работает так же хорошо, как и воспроизведение аудио.Одна вещь, которая отсутствует в приложении, - это обратная связь с пользователем во время записи в виде вольтметра.Я думаю, что на платформе iOS есть встроенный измеритель уровня громкости, который можно использовать для приложений.Я не смог найти эквивалент на платформе Android.

Я искал на различных форумах, посвященных разработке Android и поиску в Google, но я не нашел ничего полезного.

Кто-нибудь знает какие-либо примеры кодирования цифрового VU Meter для записи звука?

Кто-нибудь знает какие-либо примеры кодирования для отображения обратной связи при записи?

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

Вам придется написать свой собственный измеритель VU, но это не так сложно.

Сначала получите текущую максимальную амплитуду самого последнего набора аудиосэмплов. Зациклите буфер, который вы заполняете AudioRecord, и запомните самое высокое значение. Это в значительной степени то, что MediaPlayer.getAmplitude делает внутри.

Теперь, когда у вас есть амплитуда, вы просто рисуете иглу или прямоугольник с постоянным изменением размера (где height = MAX_RECT_HEIGHT * curAmplitude / CONST_MAXIMUM_AMPLITUDE) или что-либо еще в методе draw () пользовательского представления. Вам придется изучить пики, распады и т. Д., Но это все, что нужно.

Вы можете просмотреть источник встроенных живых обоев VU-метра здесь: VU-метр .

0 голосов
/ 20 апреля 2011

Вы смотрели ответы на этот вопрос: Доступ к медиа-потоку Android для визуализации звука ?

...