как вы можете видеть здесь, вам не нужно сохранять выходные данные в файл, если вы установите выходное назначение, как показано ниже, оно нигде не будет сохранено:

ался получить уровень амплитуды микрофона на Android примерно так:

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

Timer timer = new Timer();
timer.scheduleAtFixedRate(new RecorderTask(recorder), 0, 1000);

private class RecorderTask extends TimerTask {
    private MediaRecorder recorder;

    public RecorderTask(MediaRecorder recorder) {
        this.recorder = recorder;
    }

    public void run() {
        Log.v("MicInfoService", "amplitude: " + recorder.getMaxAmplitude());
    }
}

К сожалению, это только возвращает 0 все время.

Похоже, что для этого я должен начать запись. Это правильно?

Если да, нужно ли мне записывать в течение 500 мс, получить амплитуду, остановить запись и повторить?

Наконец, мне нужно записать в файл? Мне не нужно сохранять этот аудиофайл, я не могу просто получить текущую амплитуду или максимальную амплитуду с момента последнего вызова текущего входного микрофона без записи?

Любая помощь приветствуется, спасибо.

Ответы на вопрос(4)

Ваш ответ на вопрос