Camera2Basic应用程序前置摄像头拍照颠倒了。

6

我尝试过谷歌的android-Camera2Basic样例应用程序。为了开启前置摄像头,我在Camera2BasicFragment中更改了一些代码。更改如下。

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

并在setUpCameraOutputs(int width, int height)的结尾处添加了一个条件语句,如下所示:

if(mCameraId == null)
    mCameraId = cameraId;

这个更改可以完美地显示前置摄像头,但无法选择照片。因此,我进行了替换。
mCaptureSession.capture(mPreviewRequestBuilder.build(), mCaptureCallback,
                        mBackgroundHandler);

为了

captureStillPicture();

lockFocus()中。现在前置摄像头拍出的照片颠倒了。
例如: 样例图片 我不知道该怎么办了。
我的需求是使用camera2 api在两个摄像头中捕获照片。所以如果我做错了什么,请纠正我。
而且在某些设备上,这个应用程序在单击时会拍摄多张照片。
3个回答

2

我刚刚从setUpCameraOutputs中删除了for循环,同时也删除了if(mCameraId == null) mCameraId = cameraId;

现在问题已经解决。

谢谢。


2
移除以下条件并在全局初始化默认相机,同时移除for循环。
if(mCameraId == null) {
   mCameraId = cameraId;
}

0

最简单的解决方案是

captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, 0);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接