在 iOS 设备上使用设备的闪光灯

在 AR 会话期间启用设备的闪光灯装置有助于改进 可见性。

检查当前的相机配置是否支持闪光灯

并非所有相机配置都支持启用闪光灯。 在启用 Flash 或向用户提供启用 Flash 的选项之前, 确保闪光灯装置适用于当前相机 配置:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    return device.hasTorch;
}
return false;

启用闪光灯装置

配置 AR 会话以启用闪存装置 AVCaptureTorchModeOn:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    if (device.hasTorch) {
        NSError *error = nil;
        if ([device lockForConfiguration:&error]) {
            device.torchMode = AVCaptureTorchModeOn;
            [device unlockForConfiguration];
        } else {
            return;
        }
    }
}

停用闪光灯装置

通过配置 AR 会话来停用闪存装置 AVCaptureTorchModeOff:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
    if (device.hasTorch) {
        NSError *error = nil;
        if ([device lockForConfiguration:&error]) {
            device.torchMode = AVCaptureTorchModeOff;
            [device unlockForConfiguration];
        } else {
            return;
        }
    }
}