从Audio Audio AudioRecord读取振幅

我正试图从MIC录制声音并绘制一个实时图。 我能够logging和绘制图表。 问题是使用下面的代码logging的值是不准确的,例如…下面的图像是当我没有任何声音的时候所得到的。 我已经看到使用fft的例子,但我很确定,如果这将是对我的情况有任何帮助,因为我正在试图绘制一个时域图,我看不出有什么目的将其转换到频域(现在)。 其他人正在使用平均功率,这可能是有益的,但我不知道。

谢谢你的帮助。

在这里输入图像说明

bufferSize = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE,RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING); recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE, RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING, bufferSize); short data [] = new short[bufferSize]; while (!Thread.interrupted()) { recorder.startRecording(); recorder.read(data, 0, bufferSize); recorder.stop(); for (short s : data) { try { Thread.sleep((long) 300.00); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } postUI (Math.abs(s)); } } recorder.release(); 

Solutions Collecting From Web of "从Audio Audio AudioRecord读取振幅"