Android Camera 2 API 在 Nougat 7.1 上的 flash 问题

Posted

技术标签:

【中文标题】Android Camera 2 API 在 Nougat 7.1 上的 flash 问题【英文标题】:Android Camera 2 API problems with flash on Nougat 7.1 【发布时间】:2018-01-23 09:02:22 【问题描述】:

按照Camera 2 示例,我创建了简单的相机类来捕捉图像。如果可以在 android

对于预览,我正在使用CameraDevice.TEMPLATE_PREVIEW,AE 模式设置为CameraMetadata.CONTROL_AE_MODE_ON_ALWAYS_FLASH 与我用于捕获静态图片的相同,但使用CameraDevice.TEMPLATE_STILL_CAPTURE

如果有人可以帮助我解决这个问题 - 我将不胜感激。

【问题讨论】:

【参考方案1】:

这只是关于上述问题的附加信息。我想提请注意这个问题!

我的应用程序每 5 秒拍摄一张照片。我(1)选择相机,(2)获取一个会话,然后在每个循环中我(3)创建一个捕获请求,在该请求中我设置 Flash 模式并在会话上调用捕获方法。

我的三星 SM-G550T(Android 版本 6.01)没有问题,但我的 Moto G4(Android 版本 7.0)的 Flash 模式出现了一些问题。我将两部手机都安装了 Flash,但只能使用以下设置:

CaptureRequest.Builder requestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
requestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_SINGLE);

我目前在使用 LG 设备 (M210N)(Android 版本 7.0)时遇到问题。使用我上面提到的设置,我让设备只闪烁一次。如果我完全重新初始化相机(如上所述),设备只会再次闪烁一次。

如果我将CONTROL_AE_MODE_ON_ALWAYS_FLASH 设置添加到上述requestBuilder 中,那么LG 根本不会闪烁。所以我不得不删除那个标志。

我尝试了许多不同的附加设置和设置组合,但都没有解决这个问题。我想知道有多少设备受到此问题的影响。

【讨论】:

以上是关于Android Camera 2 API 在 Nougat 7.1 上的 flash 问题的主要内容,如果未能解决你的问题,请参考以下文章

Android之camera1和2的简单使用

Android Camera 2 API 在 Nougat 7.1 上的 flash 问题

Android:Camera2 API 仅在 Google Pixel 2 和 2 XL 设备上崩溃

在 Android 中基于叠加层裁剪位图 - Camera API 2

如何使用 Camera 2 API Android 提高捕获图像的质量?

问题支持Android相机的API和camera2 API问题,怎么解决