장치에 소리를 녹음하는 데 몇 가지 문제가 있습니다. 다음과 같이 내가 안드로이드 dev에 사이트 (Site Link)의 경우 사용하고있는 코드는 다음과 같습니다 그것입니다 (이론적으로) 모두 중지를 켜고 녹음을 시작 메인 레이아웃녹음에 대한 사용 권한 문제
public void onClickStart(View v) throws IllegalStateException, IOException{
startRecord();
}
public void onClickStop(View v) throws IllegalStateException, IOException{
stopRecord();
}
private void startRecord() throws IllegalStateException, IOException{
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); //ok so I say audio source is the microphone, is it windows/linux microphone on the emulator?
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile("/sdcard/test.3gpp");
recorder.prepare();
recorder.start();
}
private void stopRecord(){
recorder.stop();
// recorder.release();
}
2와 단추.
하지만 내 장치에서이 작업을 시도 할 때 로그 캣에서
나는 다음과 같은 오류를 얻을 수 (정말 에뮬레이터에 노력과 방해 캔트) :Error 1:
ERROR/MediaRecorder(14541): start called in an invalid state: 4
java.lang.IllegalStateException: Could not execute method of the activity
Caused by: java.lang.reflect.InvocationTargetException
Error 2:
Caused by: java.io.FileNotFoundException: /sdcard/test.3gpp (Permission denied)
그리고 또한 다음과 같은 권한 내 매니페스트에서 설정했습니다. XML 파일 : 오류 2의
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />