查询Android中的噪音级别

我想开发一个小型Android应用程序来测量当前的噪音水平(可能是dB)。 但我不知道在libs中要寻找什么。 我不想记录噪音。 有人可以给我一个指针,看看哪些类?

我建议你看看这些课程:

android.media.AudioFormat android.media.AudioManager android.media.AudioTrack 

不久前我们在Blinkendroid音频包中使用过它们。

对我来说’ maxAmplitude ‘没有帮助。 经过一天的研究,我终于达到了我的目标。 你可以在这里find我的解决方案: Android:AudioRecord类问题:永远不会调用回调

以下代码段显示了我们过去如何获得噪音级别。 不幸的是,文档没有告诉#getMaxAmplitude()返回什么单元。

 // Start recording but don't store data MediaRecorder mediaRecorder = new MediaRecorder(); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setOutputFile("/dev/null"); mediaRecorder.prepare(); mediaRecorder.start(); // Obtain maximum amplitude since last call of getMaxAmplitude() while(someCondition) { int amplitude = mediaRecorder.getMaxAmplitude(); } // Don't forget to release mediaRecorder.reset(); mediaRecorder.release();