在 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;
}
}
}