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 然后在停止视频捕获时执行相反的操作。