저는 Android 개발에서 새로 생겼으며 다음 질문이 있습니다.오디오 녹음을위한 MediaRecorder 클래스 문제 - prepare()에서 예외가 발생했습니다 - 사용 권한이 거부되었습니다.
마이크에서 오디오 만 녹음하기 위해 MediaRecorder 클래스를 사용하고 있습니다. 나는 공식 사이트에 표시된 단계를 따르고 있습니다 : http://developer.android.com/reference/android/media/MediaRecorder.html
그래서 녹음을 시작하기 위해 MediaRecorder 객체를 초기화하고 구성하는 방법이 있습니다. 내가 시뮬레이터에서이 코드를 실행하면
//initializes audio recorder
MediaRecorder mrecorder = new MediaRecorder();
//configure the input sources
mrecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//set the output format
mrecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
//set the audio encoding
mrecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
//specify the output file
mrecorder.setOutputFile("/sdcard/test.3gp");
//prepare for recording
try {
mrecorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
Log.d("Syso". e.toString());
} catch (IOException e) {
e.printStackTrace();
Log.d("Syso". e.toString());
}
가, 로그 캣 덕분에, 나는 방법 (준비 것을 볼 수있다)라고 예외 제공 :
java.io.FileNotFoundException: /sdcard/test.3gp (Permission denied)
그리고 여기 당신은 코드가 왜 이런 일이 일어나는지 모르겠습니다. 때문에 예외의 메시지에, 나는 XML에 다음 줄을 추가하여 스토리지에 액세스 할 수 매니페스트 권한을 부여했습니다
<uses-permission android:name="android.permission.STORAGE" />
그러나 이것은 아무것도 해결되지 않으며 나는 여전히 같은 예외가 항상. SDCard는 에뮬레이터에 따라 설치되므로 아무런 단서가 없습니다.
대단히 감사합니다! – arakn0