手电筒相机2 API [英] Flashlight Camera2 API
本文介绍了手电筒相机2 API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以在 Android Camera2 API 中同时使用相机预览和手电筒吗?
Can I use camera preview and flashlight at the same time in Android Camera2 API?
当我尝试使用 CameraManager.setTorchMode(String cameraId, boolean enabled)
时,它在相机未打开时工作正常.但是当相机打开并且我尝试 setTorchMode
我收到这个异常:
When I try use CameraManager.setTorchMode(String cameraId, boolean enabled)
it's work fine when camera is not opened. But when Camera is open and I try setTorchMode
I receive this exception:
CameraService: setTorchMode: 相机 0 的手电筒模式不可用,因为相机正在使用中
CameraService: setTorchMode: torch mode of camera 0 is not available because camera is in use
推荐答案
设置 FLASH_MODE 和 AE_MODE 很重要.以下是工作代码:
Setting both FLASH_MODE and AE_MODE is important. Below is the working piece of code:
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();
}
}
这篇关于手电筒相机2 API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文