Минимальный порог громкости при использовании AudioRecord на Android
Я создаю приложение, как Говорящий Том. я использую AudioRecorder
для записи. У меня только базовый Android, без Sound Touch. Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно записывать только звук выше определенной громкости.
Заявление:
if (recorder.getState() == AudioRecord.STATE_INITIALIZED)
{
return recorder;
}
Рекордер инициализируется даже при низком уровне громкости и продолжает запись, даже когда я прекращаю говорить, а фоновый звук очень низкого уровня.
1 ответ
Вы могли бы запустить свой AudioRecord
непрерывно и проверяйте уровень (среднеквадратическое или другое измерение, которое вы предпочитаете) с относительно короткими интервалами. Когда уровень звука превысит желаемое вами пороговое значение, сохраняйте данные буфера до тех пор, пока они не упадут ниже порогового значения остановки в течение заданного промежутка времени, в противном случае выбросьте данные.