我可以在Android Camera2 API中同时使用相机预览和手电筒吗?
当我尝试使用CameraManager.setTorchMode(StringcameraId, booleanenabled)
时,当相机未打开时它工作正常。但是当相机打开并且我尝试 setTorchMode
时,我收到此异常:
CameraService: setTorchMode: torch mode of camera 0 is not available because camera is in use
最佳答案
设置 FLASH_MODE 和 AE_MODE 很重要。下面是工作代码:
public void toggleFlashMode(boolean enable){
try {
if (mCameraType.equals(CameraType.BACK)) {
if (enable) {
mPreviewRequestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_TORCH);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
} else {
mPreviewRequestBuilder.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_OFF);
}
mCaptureSession.setRepeatingRequest(mPreviewRequestBuilder.build(), null, null);
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
关于android - 手电筒相机2 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33324647/