Запрос уровня шума в Android - PullRequest
       6

Запрос уровня шума в Android

8 голосов
/ 25 августа 2010

Я хочу разработать небольшое приложение для Android для измерения текущего уровня шума (вероятно, в дБ).Но я понятия не имею, что искать в библиотеках.Я не хочу записывать шум.Может кто-нибудь дать мне указатель на какие классы смотреть?

Ответы [ 3 ]

4 голосов
/ 25 августа 2010

Рекомендую посмотреть в следующих классах:

android.media.AudioFormat
android.media.AudioManager
android.media.AudioTrack

Мы использовали их в аудио пакете Blinkendroid недавно.

1 голос
/ 04 ноября 2011

Для меня 'maxAmplitude' не помогло. После дня исследований я в конце концов достиг своей цели. Вы можете найти мое решение здесь: Android: Класс AudioRecord Проблема: Обратный вызов никогда не вызывается

0 голосов
/ 19 октября 2011

Следующий фрагмент кода показывает, как мы получили уровень шума в прошлом.К сожалению, в документации не сказано, какой модуль возвращает #getMaxAmplitude ().

// Start recording but don't store data
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile("/dev/null");
mediaRecorder.prepare();
mediaRecorder.start();

// Obtain maximum amplitude since last call of getMaxAmplitude()
while(someCondition) {
    int amplitude = mediaRecorder.getMaxAmplitude();
}

// Don't forget to release
mediaRecorder.reset();
mediaRecorder.release();
...