Target은 두개로 test중입니다.
근본적인 문제는 HTC Legend(2.2)에서는 Preview가 잘 나오는데 Nexus S(2.3.3)에서는 Preview가 안나오고 있습니다.
아래 코드처럼 prepare까지만 진행한 상태인데 여기서 Nexus S는 recorder.start()를 해 줘야만 Preview가 시작되고 있습니다.
emulator에서도 2.2까지는 격자무늬(영상이 보인다는 뜻이겠죠)가 보이고 2.3부터 까만색으로 영상이 출력안됩니다.
버전이 낮은 녀석이 정상이라니 좀 이해가 안되는데 혹 다른 처리가 필요한것인지 문의드립니다.
[code]
if (mRecorder == null) {
mRecorder = new MediaRecorder();
} else {
mRecorder.reset();
}
try {
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setVideoFrameRate(16);
mRecorder.setVideoSize(640, 480);
mRecorder.setOutputFile(path);
mRecorder.setPreviewDisplay(mHolder.getSurface());
mRecorder.prepare();
} catch (IllegalArgumentException e) {
Toast.makeText(CustomVideoRecord.this, "IllegalArgumentException", 1).show();
} catch (IllegalStateException e) {
Toast.makeText(CustomVideoRecord.this, "IllegalStateException", 1).show();
} catch (IOException e) {
Toast.makeText(CustomVideoRecord.this, "IOException", 1).show();
}[/code]




소스 첨부 드립니다 MultimediaControl.7z