안드로이드 스튜디오 질문있습니다.

조회수 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이상 측정되면 측정을 멈추게 하고싶은데 도저히 혼자힘으론 무리라서 질문드립니다. 도와주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 이곳은 요청을 하는 곳이 아닙니다. devpia 에 dExpert 라고 요청할 수 있더군요. 정영훈 2018.11.7 22:03

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)