如何让已经打开的摄像头在Android中添加手电筒?

如何让已经打开的摄像头在Android中添加手电筒?,android,camera,boofcv,Android,Camera,Boofcv,我正在使用一个第三方库(boofCV)与安卓系统中的摄像头一起工作。他们打开相机时没有一个明显的方式握住它: CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); manager.openCamera(cameraId, mStateCallback, null); 我需要为相机添加手电筒,但使用此代码时: cameraManager.setTorchMode(cameraId, tr

我正在使用一个第三方库(boofCV)与安卓系统中的摄像头一起工作。他们打开相机时没有一个明显的方式握住它:

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
manager.openCamera(cameraId, mStateCallback, null);
我需要为相机添加手电筒,但使用此代码时:

cameraManager.setTorchMode(cameraId, true)
我得到了一个错误:

CameraAccessException: android.hardware.camera2.CameraAccessException: CAMERA_IN_USE (4): setTorchMode:2122: Torch for camera "0" is not available due to an existing camera user.
如果我尝试使用这个API
    val camera = Camera.open()
    val params = camera.parameters
    params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH)
    camera.setParameters(params)
    camera.startPreview()
我还收到一个错误,因为相机已打开:

E/CameraCaptureSession: Session 0: Exception while stopping repeating: 
    android.hardware.camera2.CameraAccessException: CAMERA_DISCONNECTED (2): checkPidStatus:2193: The camera device has been disconnected
那么,在这种情况下,如何让相机光源打开/关闭手电筒

更新: 嗯,我甚至试图重写库的代码并添加

manager.setTorchMode(cameraId, true);
以前

manager.openCamera(cameraId, mStateCallback, null);
但只得到了短暂的闪光