Android- Входные уровни микрофона?

Я хочу, чтобы обнаружить дует в микрофон на Android. Google не сильно помог. Является ли это возможным?

1 ответ

Решение

ХОРОШО! Я нашел это онлайн, так что это определенно кажется возможным. Похоже, вы можете вызвать mediaRecorder.getMaxAmplitude().

Код из приложения под названием NoiseAlert

public void start() {
    if (mRecorder == null) {
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mRecorder.setOutputFile("/dev/null"); 
        mRecorder.prepare();
        mRecorder.start();
        mEMA = 0.0;
    }
}

public double getAmplitude() {
    if (mRecorder != null)
        return  (mRecorder.getMaxAmplitude()/2700.0);
    else
        return 0;
}

Вот источник

Другие вопросы по тегам