android - 如何使用 cameraX 在相机应用程序中实现 FlashToggle 按钮?
问题描述
如何使用 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()
}
}
}
我用过这个,但它只在相机关闭时有效?
解决方案
如果您想在拍摄图像时使用闪光灯,您可以使用:
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(...)