AR セッション中にデバイスのフラッシュ ユニットを有効にすると、視認性が向上します。
現在のカメラの設定がフラッシュに対応していることを確認する
カメラの構成によっては、フラッシュ ユニットの有効化がサポートされていない場合があります。フラッシュを有効にするか、フラッシュを有効にするオプションをユーザーに提供する前に、アクティブなカメラ構成でフラッシュ ユニットを使用できることを確認します。
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
return device.hasTorch;
}
return false;
フラッシュを有効にする
AVCaptureTorchModeOn
を使用して AR セッションを構成して、フラッシュ ユニットを有効にします。
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
if (device.hasTorch) {
NSError *error = nil;
if ([device lockForConfiguration:&error]) {
device.torchMode = AVCaptureTorchModeOn;
[device unlockForConfiguration];
} else {
return;
}
}
}
フラッシュを無効にする
AVCaptureTorchModeOff
を使用して AR セッションを構成して、フラッシュ ユニットを無効にします。
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
if (device.hasTorch) {
NSError *error = nil;
if ([device lockForConfiguration:&error]) {
device.torchMode = AVCaptureTorchModeOff;
[device unlockForConfiguration];
} else {
return;
}
}
}