Nexus One (예)에서 카메라 응용 프로그램은 720x480에서 H.264 비디오를 캡처 할 수 있습니다 ("고화질"설정). 그러나 MediaRecorder API를 사용하면 항상 고정 된 프레임 크기 (320x240)로 캡처하는 것처럼 보입니다.캡처 한 비디오의 프레임 높이와 너비를 제어하는 방법 : setVideoSize()가 작동하지 않음
프레임 크기를 제어하기 위해 setVideoSize() 메서드가 필요하지만 (Froyo 2.2 Android SDK 사용) 효과가없는 것으로 보입니다.
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setOutputFile(PATH_TO_FILE);
recorder.setVideoSize(720,480);
recorder.setPreviewDisplay(holder.getSurface());
recorder.prepare();
Discussions on the android developers list 이것은 오랜 논쟁 거리임을 나타냅니다. 누구나 프레임 크기를 제어 할 수있는 방법을 조언하거나 현재 API를 사용하여 프레임 크기를 제어하는 방법에 대해 조언 할 수 있습니까?
2.2 그 순간에만 QUALITY_HIGH 실제로 QUALITY_LOW –
, setProfile (이 있다는 안됐다가) 것입니다. setVideoSize() 함수가 작동하지 않는다고 말할 수 없도록 같은 setVideoSize() 함수를 호출하면됩니다. – artsylar
나는 setProfile()이 올바른 순서로 당신에게 해줄 것이라고 생각한다. – dzeikei