Я новичок в разработке 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());
}
Когда я выполняю этот код на тренажере, благодаря LogCat, я могу видеть, что метод подготовки() дает исключение при вызове:
java.io.FileNotFoundException: /sdcard/test.3gp (Permission denied)
И Я понятия не имею, почему это происходит. В связи с сообщением исключения, я дал разрешения в манифесте для доступа к памяти, добавив следующую строку в XML:
<uses-permission android:name="android.permission.STORAGE" />
Но это ничего не исправить, и я все еще получаю такое же исключение все время. SDCard монтируется в соответствии с эмулятором, поэтому я не знаю.
спасибо! – arakn0