커니님의 안드로이드 소스를 구동해보았습니다만, 
갤럭시 S2의 경우는 녹화 버튼을 누르면 녹화가 되다가 재부팅이 되고요, 
노트 1의 경우는 녹화 종료 버튼을 누르면 미리보기 화면은 그대로 작동하는데 녹화 종료가 되지 않고 계속 녹화 상태 그대로입니다. 녹화 버튼은 focused 되어 있는 상태로요.

이 두 기기 모두 재부팅한 후에 sdcard를 확인하면 영상이 깨져 있어서 안드로이드 상에서 재생이 불가능합니다.

둘 다 최신버전(4.04)입니다.

제가 디버깅을 해보니 mRecorder.stop(); 이 부분에서 더 이상 진행을 하지 않고 무반응입니다.

다음 부분이 MediaRecorder를 설정하는 코드입니다.

public void initRecorder() {
filePath = Environment.getExternalStorageDirectory().getPath() + "/"
+ createFileName(System.currentTimeMillis());
try {
videoFile = new File(filePath);
videoFile.createNewFile();
 
mRecorder = new MediaRecorder();
 
mCamera.unlock();
mRecorder.setCamera(mCamera);
 
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
 
CamcorderProfile profile = CamcorderProfile.get(currCamIdx,
CamcorderProfile.QUALITY_HIGH);
mRecorder.setProfile(profile);
 
mRecorder.setPreviewDisplay(mHolder.getSurface());
mRecorder.setOutputFile(filePath);
 
mRecorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

일단 CamcorderProfile.QUALITY_HIGH을 QUALITY_LOW나 QUALITY_480P로 바꿔서 MediaRecorder에 적용하면 정상적으로 녹화가 진행 및 완료됩니다.

고해상도 녹화에 문제가 있는 것 같아서 찾아보니, 삼성 디바이스는 CameraParameter의 "cam_mode" 값을 1로 바꾸라고 하더군요.

그래서 해봤지만 동일한 증상이 나오거나 오히려 "parameter 설정이 잘못됬다"라는 오류가 발생하더군요.

다른 비디오 예제 소스도 동일한 증상입니다. 심지어 구글 카메라 앱 또한 이러한 반응을 보입니다.

갤럭시 시리즈에서 카메라앱을 개발해보신 분들의 조언을 구합니다....ㅠㅠ

<script language="javascript"> </script>