打开相机android时关闭闪光灯?

时间:2020-12-23 02:50:37

标签: java android kotlin camera camera-view

我正在使用 CameraView api l = [1, 2, 3, 4] l = [l[p^1] for p in range(len(l))] print (l) 进行摄像头实时预览,我想打开摄像头,根据文档,我可以通过打开 CameraView 来实现,但它不起作用。

我尝试使用 CameraManager 来执行此操作,但它无法正常工作,这也导致我在使用相机时无法使用闪光灯的异常。我在 stackoverflow 上发现了一些其他类似的问题。它们似乎有效,但代码对我来说没有意义,我无法理解代码,因为代码不完整。

你知道我该怎么做吗,我已经为 FLASHLIGHT 和 CAMERA 定义了权限 AndroidManifest 文件。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我面临同样的问题。试试这个解决方案。或阅读此博客 CameraX: Learn how to use CameraController

val cameraInstance : Camera = cameraProvider?.bindToLifecycle(viewLifecycleOwner, cameraSelector, previewUseCase)
private fun flashToggle() {
    // My toggle flash function 
    val cameraController = cameraInstance?.cameraControl
    if (cameraInstance?.cameraInfo?.torchState?.value == TorchState.ON) {
        cameraController?.enableTorch(false)
        binding.barscanfFlashToggle.setImageResource(R.drawable.ic_baseline_flash_off_24)
    } else {
        binding.barscanfFlashToggle.setImageResource(R.drawable.ic_baseline_flash_on_24)
        cameraController?.enableTorch(false)
    }

}