5
안드로이드에서 마이크에 불고있는 것을 감지하고 싶습니다. Google은 별 도움이되지 않았습니다. 가능한가?Android - 마이크 입력 수준?
안드로이드에서 마이크에 불고있는 것을 감지하고 싶습니다. Google은 별 도움이되지 않았습니다. 가능한가?Android - 마이크 입력 수준?
OK! 이 온라인을 찾았으므로 분명히 가능했습니다. mediaRecorder.getMaxAmplitude()를 호출 할 수있는 것 같습니다.
는코드
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;
}
여기 NoiseAlert
라는 응용 프로그램에서 나는에 오류가 발생하고있는 source
의 'mRecorder.prepare();' try catch 블록을 추가하면 오류가 사라지지만 런타임 오류가 발생합니다. 열심히 좋은 대답을 기다리고 있습니다. – stack
이 경우에는 계속해서 이벤트를들을 수 있습니다. 노이즈/사운드가있을 때마다 Get Amplitude 기능을 트리거하고 싶습니다. – Sparsh