我有一个使用Camera2
的自定义相机,该相机具有为OCR拍照的功能。问题是相机预览的方向,我需要将其锁定到传感器横向(横向和反向横向)。第一次启动时一切正常:
但是当我旋转反转风景时,预览就出错了:
我已经阅读并尝试了许多有关此问题的问题,但是它不起作用。我已将我的整个相机活动复制到here中。
答案 0 :(得分:0)
大致阅读完整的源代码,我认为您应该将每个方向案例分开
int orientation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
switch(orientation) {
case Surface.ROTATION_0:
mCameraRotation = mIsPortraitDevice ? CameraRotation.ROTATION_270 : CameraRotation.ROTATION_0;
break;
case Surface.ROTATION_90:
mCameraRotation = mIsPortraitDevice ? CameraRotation.ROTATION_0 : CameraRotation.ROTATION_90;
break;
case Surface.ROTATION_180:
mCameraRotation = mIsPortraitDevice ? CameraRotation.ROTATION_90 : CameraRotation.ROTATION_180;
break;
case Surface.ROTATION_270:
mCameraRotation = mIsPortraitDevice ? CameraRotation.ROTATION_180 : CameraRotation.ROTATION_270;
break;
}