如何使用 cameraX 在相机应用程序中实现 FlashToggle 按钮?
Posted
技术标签:
【中文标题】如何使用 cameraX 在相机应用程序中实现 FlashToggle 按钮?【英文标题】:How to Implement FlashToggle button in the camera app using cameraX? 【发布时间】:2021-11-21 00:52:37 【问题描述】:如何使用 cameraX 在相机应用中实现 FlashToggle 按钮? 手电筒应该和相机一起正常工作吧?
@RequiresApi(Build.VERSION_CODES.M)
private fun toggleFlash()
if(flash_toggle.isChecked)
try
cameraManager.setTorchMode(getCameraID, true)
catch(e: CameraAccessException)
e.printStackTrace()
else
try
cameraManager.setTorchMode(getCameraID,false)
catch(e: CameraAccessException)
e.printStackTrace()
我用过这个,但它只有在相机关闭时才有效?
【问题讨论】:
【参考方案1】:如果您想在拍摄图像时使用闪光灯,您可以使用:
imageCapture.flashMode = ImageCapture.FLASH_MODE_ON
开启闪光灯
imageCapture.flashMode = ImageCapture.FLASH_MODE_OFF
闪光关闭
imageCapture.flashMode = ImageCapture.FLASH_MODE_AUTO
自动闪光
如果你想使用手电筒(手电筒),你可以使用:
// Enable torch
camera.cameraControl.enableTorch(true)
// Disable torch
camera.cameraControl.enableTorch(false)
仅在绑定用例后启用火炬。
要获取Camera
实例,请使用:
camera = cameraProvider.bindToLifecycle(...)
【讨论】:
以上是关于如何使用 cameraX 在相机应用程序中实现 FlashToggle 按钮?的主要内容,如果未能解决你的问题,请参考以下文章