androidx camera2 带闪光灯的视频捕捉
androidx camera2 video capture with flash
我希望使用 camera2 拍摄图像和视频。我发现对于图像捕获我可以使用方法 .setFlashMode(flash_type)
但是视频捕获对象没有这个。
CameraManager camManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = null;
try {
cameraId = camManager.getCameraIdList()[0];
camManager.setTorchMode(cameraId, true); //Turn ON
} catch (CameraAccessException e) {
e.printStackTrace();
}
我曾尝试使用 this 方法,我会在拍摄视频之前打开闪光灯,但由于相机已在使用中而出现错误。
所以,我想知道,这在 androidx 中是否可行?
CameraX 中的视频捕捉甚至还不是 alpha 版本 public API,因此它很可能还不支持闪光灯控制。
我在 issue tracker 找到了 androidx.camera 的解决方案,似乎有效。
if (flash_type == ImageCapture.FLASH_MODE_ON)
videoCapture.getCamera().getCameraControl().enableTorch(true);
Any 然后在停止视频捕获时执行相反的操作。
我希望使用 camera2 拍摄图像和视频。我发现对于图像捕获我可以使用方法 .setFlashMode(flash_type)
但是视频捕获对象没有这个。
CameraManager camManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = null;
try {
cameraId = camManager.getCameraIdList()[0];
camManager.setTorchMode(cameraId, true); //Turn ON
} catch (CameraAccessException e) {
e.printStackTrace();
}
我曾尝试使用 this 方法,我会在拍摄视频之前打开闪光灯,但由于相机已在使用中而出现错误。
所以,我想知道,这在 androidx 中是否可行?
CameraX 中的视频捕捉甚至还不是 alpha 版本 public API,因此它很可能还不支持闪光灯控制。
我在 issue tracker 找到了 androidx.camera 的解决方案,似乎有效。
if (flash_type == ImageCapture.FLASH_MODE_ON)
videoCapture.getCamera().getCameraControl().enableTorch(true);
Any 然后在停止视频捕获时执行相反的操作。