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);
我试过 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);