Используйте потоковую аудиозапись в audiomanager

1

Я пытаюсь определить уровень громкости того, что в настоящее время подается через микрофон с помощью 'getStreamVolume' в 'audiomanager'.

Доступны только исходные потоки, перечисленные в документации для audiomanager, для сигналов тревоги, DTMF, музыки, уведомлений, телефонных звонков, системных звуков и телефонных звонков. Я не уверен, как проложить микрофон через аудиомастера, чтобы получить текущий объем фида.

Любое руководство будет оценено наиболее высоко

Спасибо

Теги:
android-audiomanager
microphone
audiorecord
android-audiorecord

1 ответ

0

getStreamVolume() of AudioManager возвращает значение громкости, а не фактический том.

Вместо этого вам нужно прочитать значения из потока, получить среднее значение за относительно короткий промежуток времени и использовать это значение.

В соответствии с документацией для AudioRecord, здесь, используйте read(byte[], int, int), read(short[], int, int) или read(ByteBuffer, int).

  • 0
    Спасибо за ответ человек, хотя я не знаю много об использовании аудио в Java. Как я могу получить текущий объем от чтения байтов?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню