我使用 MediaRecorder 录制视频。使用后置摄像头时,它工作正常,但使用前置摄像头时,捕获的视频正在翻转/反转。意味着右侧的项目将出现在左侧。相机预览工作正常,只是最后捕获的视频翻转了。
这是相机预览的样子
但最终的视频看起来像这样(左侧的所有项目,出现在右侧)
到目前为止我尝试了什么:
我试图应用matrix
准备记录器时,但它似乎确实改变了任何东西。
private boolean prepareRecorder(int cameraId){
//# Create a new instance of MediaRecorder
mRecorder = new MediaRecorder();
setCameraDisplayOrientation(this,cameraId,mCamera);
int angle = getVideoOrientationAngle(this,cameraId);
mRecorder.setOrientationHint(angle);
if(cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT){
Matrix matrix = new Matrix();
matrix.preScale(1.0f,-1.0f);
}
//all other code to prepare recorder here
}
我已经阅读了下面所有这些问题,但这一切似乎并没有解决我的问题。有关信息,我SurfaceView
用于相机预览,所以这里的这个问题没有帮助。
所以我的问题是:
1)如何通过前置摄像头捕获视频不反转的视频(与摄像头预览完全相同)?
SurfaceView
2)当相机预览正在使用但不使用时如何实现这一点TextureView
?(因为我上面提到的所有问题,说说使用TextureView
)
所有可能的解决方案都非常受欢迎..Tq
编辑
我做了2个短视频来澄清问题,请下载看看