Android: sample microphone without recording to get live amplitude/level?
I was trying to get the amplitude level of a microphone on Android like so: 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()); } } Unfortunately, this only returns 0 all the time. It appears that for this to work I