본문 바로가기

Android Dev

MediaRecorder 에러 해결.




안드로이드 동영상 녹화 관련 소스 짜고있는데 위와 같은 에러가 뜬다고요?

start called in an invalid state 4 로 검색도 하고.

MediaRecorder threadid=1: thread exiting with uncaught exception 로 검색도 해봤지만.


제가 prepare()를 안했네요.


private MediaRecorder mrd;

private Camera rCamera;



File file = Environment.getExternalStorageDirectory();

String path = file.getAbsolutePath() + "/test.mp4";

mrd = new MediaRecorder();

rCamera = Camera.open();

rCamera.setPreviewDisplay(holder);

rCamera.startPreview();

rCamera.unlock();

mrd.setCamera(rCamera);

mrd.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);

mrd.setVideoSource(MediaRecorder.VideoSource.CAMERA);

mrd.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));

mrd.setOutputFile(path);       

mrd.prepare();


try{

mrd.start();

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

System.out.println("아따 에러 나부렷넴.");

e.printStackTrace();

}



대충 이런 비슷한 소스를 썻는데  저기 위에 prepare()를 선언안해서 발생하였던 문제였답니다...


하하하^^ 속성 개발하다 보니 이렇네요 ㅎㅎ