开发视频录制插件,结果发现竖屏录制视频的时候,出现预览窗口画面别旋转90度的问题。所以贴出解决代码。共同进步。
mediarecorder = new MediaRecorder();// 创建mediarecorder对象
// 设置录制视频源为Camera(相机)
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
// parameters.setRotation(90);
parameters.setPreviewSize(640, 480);
parameters.setPictureSize(640, 480);
camera.setParameters(parameters);
camera.setDisplayOrientation(90);
camera.unlock();
mediarecorder.setCamera(camera);
mediarecorder.reset();
mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
// 设置录制完成后视频的封装格式THREE_GPP为3gp.MPEG_4为mp4
mediarecorder .setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediarecorder.setVideoSize(640, 480);
// 设置录制的视频编码h263 h264
mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
// 设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错
// 设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错
mediarecorder.setVideoFrameRate(20);
mediarecorder.setPreviewDisplay(surfaceHolder.getSurface());
// 设置视频文件输出的路径
mediarecorder.setOutputFile("/sdcard/love.mp4");
try {
// 准备录制
mediarecorder.prepare();
// 开始录制
mediarecorder.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}