small-video-record
small-video-record copied to clipboard
设置全屏录制时,画面扭曲
全屏播放时高度似乎识别不正确
MediaRecorderConfig config = new MediaRecorderConfig.Buidler().fullScreen(true).smallVideoWidth(displayMetrics.widthPixels).smallVideoHeight(displayMetrics.heightPixels)
我是这么设置的,虽然视频全屏了,但是高度被拉长了
找到原因了,是高度设置的问题,在魅族pro6上设置480,vivo xplay6设置了720就不会被拉长 可是,我如何计算高度该设置成什么呢?
已解决,你设置视频预览宽高地方的代码有问题
MediaRecorderBase.java类,给支持尺寸的排序
Collections.sort(supportedPreviewSizes, new Comparator<Size>() {
@Override
public int compare(Size o1, Size o2) {
return (o2.height + o2.width)-(o1.height + o1.width);
}
});
然后修改MediaRecorderBase.java类中的prepareCameraParaments方法中设置预览尺寸的地方
if(!NEED_FULL_SCREEN){
mParameters.setPreviewSize(mSupportedPreviewWidth, SMALL_VIDEO_HEIGHT);
}else {
Size size = mSupportedPreviewSizes.get(0);
mParameters.setPreviewSize(size.width, size.height);
}
MediaRecorderNative类的startRecord也需要修改
if (NEED_FULL_SCREEN) {
Camera.Size size = mSupportedPreviewSizes.get(0);
FFmpegBridge.prepareJXFFmpegEncoder(mMediaObject.getOutputDirectory(), mMediaObject.getBaseName(), vCustomFormat, size.width, size.height, size.width, size.height, mFrameRate, mVideoBitrate);
} else
FFmpegBridge.prepareJXFFmpegEncoder(mMediaObject.getOutputDirectory(), mMediaObject.getBaseName(), vCustomFormat, mSupportedPreviewWidth, SMALL_VIDEO_HEIGHT, SMALL_VIDEO_WIDTH, SMALL_VIDEO_HEIGHT, mFrameRate, mVideoBitrate);
那大佬 你是把项目导进去 重写的么?