如何使用 cameraX 在相机应用程序中实现 FlashToggle 按钮?

How to Implement FlashToggle button in the camera app using cameraX?

如何使用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)

仅在绑定用例后启用 torch。

要获取 Camera 实例,请使用:

camera = cameraProvider.bindToLifecycle(...)