4

저는 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는 에뮬레이터에 따라 설치되므로 아무런 단서가 없습니다.

답변

8

권한을 AndroidManifest.xml에 추가하십시오.

+0

대단히 감사합니다! – arakn0

관련 문제