在 iOS 上使用裝置(')的 Flash 單元

在 AR 工作階段期間啟用裝置的閃光燈有助於提升 曝光率。

確認目前的相機設定支援閃光燈

並非所有相機設定都支援啟用閃光燈裝置。 在啟用 Flash 或讓使用者選擇啟用 Flash 之前 確認使用中的相機可以使用閃光燈 設定:

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

啟用 Flash 單元

透過以下設定 AR 工作階段啟用 Flash 單元: 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;
        }
    }
}

停用 Flash 裝置

透過以下設定 AR 工作階段來停用 Flash 單元: 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;
        }
    }
}