Android - 麦克风输入电平?

时间:2010-08-20 20:11:50

标签: android

我想检测一下在android上的麦克风。谷歌帮助不大。有可能吗?

1 个答案:

答案 0 :(得分:7)

OK!我在网上找到了这个,所以看起来绝对可能。看起来你可以调用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;
}

这是source