안드로이드 스튜디오 질문있습니다.
조회수 827회
package com.example.velmurugan.detectnoiseandroidexample;
import java.io.IOException; import android.media.MediaRecorder;
public class DetectNoise { // This file is used to record voice static final private double EMA_FILTER = 1.0;
private MediaRecorder mRecorder = null;
private double mEMA = 0.0;
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");
try {
mRecorder.prepare();
} catch (IllegalStateException e) {
List item
// TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
mRecorder.start(); mEMA = 0.0; } } public void stop() { if (mRecorder != null) { mRecorder.stop(); mRecorder.release(); mRecorder = null; } } *public double getAmplitude() { if (mRecorder != null) //return (mRecorder.getMaxAmplitude()/2700.0); return 20 * Math.log10(mRecorder.getMaxAmplitude() / 16.0); else return 0; } public double getAmplitudeEMA() { double amp = getAmplitude(); mEMA = EMA_FILTER * amp + (1.0 - EMA_FILTER) * mEMA; return mEMA; }*
}
안드로이드 스튜디오에서 이부분이 데시벨 측정하는 소스인데 데시벨이 80이상 측정되면 측정을 멈추게 하고싶은데 도저히 혼자힘으론 무리라서 질문드립니다. 도와주시면 감사하겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력