【发布时间】:2021-08-04 05:53:52
【问题描述】:
这是一个奇怪的问题。我不知道这是库中的错误还是什么。所以问题出在相机的闪光灯上。
我分配了一个全局变量 flashMode
private var flashMode: Int = ImageCapture.FLASH_MODE_OFF
然后将其设置为 ImageCaptureBuilder
imageCapture = ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
.setTargetAspectRatio(screenAspectRatio)
.setFlashMode(flashMode)
.setTargetRotation(rotation)
.build()
在拍照之前我打开闪光灯
if (camera?.cameraInfo?.hasFlashUnit() == true) {
flashMode = ImageCapture.FLASH_MODE_ON
}
但这并没有打开相机闪光灯,而是将 flashMode 值设置为 1,即 ImageCapture.FLASH_MODE_ON(我通过日志记录检查)。在捕获图像之前,我再次记录并检查了 flashMode 的值和它是 1 ,但是闪光灯也没有打开。但是如果我将全局变量设置为
private var flashMode: Int = ImageCapture.FLASH_MODE_ON
然后它就可以工作了,并且打开了闪光灯。 我已经尝试过在我以前的项目中设置 Flash On 后将其设置为 FlashModeOff 的上述方法,并且效果很好。但这一次我无法理解出了什么问题。 提前致谢
【问题讨论】:
标签: android android-camera android-camerax