我尝试过谷歌的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()
中。现在前置摄像头拍出的照片颠倒了。例如:
![样例图片](https://istack.dev59.com/xKHzb.webp)
我的需求是使用camera2 api在两个摄像头中捕获照片。所以如果我做错了什么,请纠正我。
而且在某些设备上,这个应用程序在单击时会拍摄多张照片。