将相机2预览锁定到Android中的传感器横向

时间:2018-12-19 04:24:58

标签: android camera android-camera2

我有一个使用Camera2的自定义相机,该相机具有为OCR拍照的功能。问题是相机预览的方向,我需要将其锁定到传感器横向(横向和反向横向)。第一次启动时一切正常:

Picture 1

但是当我旋转反转风景时,预览就出错了:

Picture 2

我已经阅读并尝试了许多有关此问题的问题,但是它不起作用。我已将我的整个相机活动复制到here中。

1 个答案:

答案 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;
}