Camera2Basic 应用程序前置摄像头将照片颠倒

Camera2Basic app front camera takes pic upside down

我试过 Google 的 android-Camera2Basic sample app. For front camera get works, I have changed some code in Camera2BasicFragment。变化如下

为了切换到前置摄像头,我在 setUpCameraOutputs(int width, int height) 方法中将 mCameraId = cameraId; 更改为 mCameraId = "1";

并在 setUpCameraOutputs(int width, int height) 末尾添加 if 条件,例如,

if(mCameraId == null)
    mCameraId = cameraId;

此更改可以完美显示前置摄像头,但不会选择照片。所以我更换了

mCaptureSession.capture(mPreviewRequestBuilder.build(), mCaptureCallback,
                        mBackgroundHandler);

captureStillPicture();

lockFocus() 中。现在前置摄像头拾取照片,但它看起来是颠倒的。

例如:

我现在不知道该怎么办。

我的要求是使用 camera2 api 在两个相机中拍摄照片。所以如果我做错了什么请纠正我。

在某些设备上,此应用程序单击一次可拍摄多张照片。

刚刚从 setUpCameraOutputs 中删除了 for 循环 并且还删除了 if(mCameraId == null) mCameraId = cameraId;.

现在问题已解决。

谢谢

移除以下条件并全局初始化默认相机,同时移除for循环。

if(mCameraId == null) {
   mCameraId = cameraId;
}

最简单的解决方案是

captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, 0);