同时打开相机并设置手电筒模式
Posted
技术标签:
【中文标题】同时打开相机并设置手电筒模式【英文标题】:open camera and set torch mode at same time 【发布时间】:2019-12-10 11:51:30 【问题描述】:我想使用camera2 api在android中。但由于打开相机的优先级较高,手电筒模式被关闭。如何同时使用两者?
private void openCamera() 抛出 CameraAccessException CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); cameraId = cameraManager.getCameraIdList()[0];
CameraCharacteristics cc = cameraManager.getCameraCharacteristics(cameraId);
StreamConfigurationMap map = cc.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
imageDimensions = map.getOutputSizes(SurfaceTexture.class)[0];
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
return;
cameraManager.openCamera(cameraId, stateCallback, null);
cameraManager.setTorchMode(cameraId, true);
在 camera2 api 中不能同时使用两者
【问题讨论】:
【参考方案1】:相机打开后,您可以使用FLASH_MODE 并将其设置为TORCH 在您的预览捕捉请求中。
这意味着您需要将 AE_MODE 保持为 ON 或 OFF,而不是任何一种 FLASH 模式,这样自动曝光就不会控制闪光灯。
【讨论】:
以上是关于同时打开相机并设置手电筒模式的主要内容,如果未能解决你的问题,请参考以下文章
使用相机手电筒不允许更改面对模式 - Navigator.mediaDevices