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 Camera 2 API 在 Nougat 7.1 上的 flash 问题
Android:Camera2 API 仅在 Google Pixel 2 和 2 XL 设备上崩溃
在 Android 中基于叠加层裁剪位图 - Camera API 2