【发布时间】:2017-05-27 20:11:01
【问题描述】:
在我正在开发的应用程序中,我有一个区域可以进行视频录制预览以录制视频。我有以下代码来开始预览:
mCamera = Camera.open();
mCamera.setPreviewDisplay(mHolder);
Camera.Parameters parameters = mCamera.getParameters();
List<Camera.Size> previewSizes = parameters.getSupportedPreviewSizes();
Camera.Size previewSize = previewSizes.get(0);
parameters.setPreviewSize(previewSize.width, previewSize.height);
parameters.setVideoStabilization(false);
mCamera.setParameters(parameters);
mCamera.startPreview();
mCamera.unlock();
对于我的 MediaRecorder,我有以下设置代码:
if (mMediaRecorder == null) mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setVideoEncodingBitRate(3072 * 1000);
mMediaRecorder.setVideoFrameRate(60);
mMediaRecorder.setVideoSize(1280, 720);
mMediaRecorder.setOutputFile(videoFile.getAbsolutePath());
由于某种原因,在我开始录制视频后,预览会自行调整大小,显示为“放大”。我尝试了一些用户提出相同问题的解决方案,但这些解决方案不起作用。显然我需要将预览大小设置为 16:9 的纵横比才能使其正常工作。有谁知道任何解决方案?
【问题讨论】:
标签: android video camera android-camera android-mediarecorder