제가 지금 비디오 화면 녹화를 구현 하고 있습니다.
카메라가 아닌 현재 보여주는 화면과 소리를 구현 하는 게 목적입니다.
mMediaRecord = new MediaRecorder();
mMediaRecord.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecord.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecord.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
mMediaRecord.setVideoSize(width, height);
mMediaRecord.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mMediaRecord.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
saveFile = "적당한 Path";
mMediaRecord.setOutputFile(saveFile);
try
{
mMediaRecord.prepare();
}
catch (IOException e)
{
Log.d("UnityTest", e.getMessage());
}
catch (Exception e)
{
Log.d("UnityTest", e.getMessage());
}
mMediaRecord.start();
이렇게 MediaRecord를 실행 하려 하는 데 start() 에서 java.lang.IllegalStateException 에러를 띄웁니다.
이유를 모르겠습니다. 이거 어떻게 해결해야 합니까?