Ativar a unidade de flash do dispositivo durante uma sessão de RA pode ajudar a melhorar visibilidade.
Verificar se a configuração atual da câmera é compatível com o flash
Nem todas as configurações de câmera oferecem suporte à ativação de uma unidade de flash. Antes de ativar o flash ou oferecer aos usuários a opção de ativar o flash, verifique se a unidade de flash está disponível para a configuração da câmera ativa:
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (device) {
return device.hasTorch;
}
return false;
Ativar a unidade de flash
Ative a unidade de flash configurando a sessão de RA com
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;
}
}
}
Desativar a unidade de flash
Desative a unidade de flash configurando a sessão de RA com
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;
}
}
}