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