Я хочу включить режим фонарика AVCaptureTorchModeOn в своем приложении во время записи видео.
Я использую приведенный ниже код.
-(void)set_TorchMode:(BOOL)turnOn
{
AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([theDevice hasTorch]) {
[theDevice lockForConfiguration: nil];
AVCaptureTorchMode currentMode = [theDevice torchMode];
BOOL isAlreadyTurnedOn = (AVCaptureTorchModeOn == currentMode);
if (isAlreadyTurnedOn != turnOn) {
[theDevice setTorchMode: turnOn? AVCaptureTorchModeOn: AVCaptureTorchModeOff];
}
[theDevice unlockForConfiguration];
}
}
Я вызываю этот метод во время начала записи, чтобы включить ее, и во время остановки записи, чтобы выключить ее.
В первый раз он работает нормально, когда я записываю, но когда я начинаю запись во второй раз, он включается, но сразу выключается. Он не остается включенным во время записи.
Спасибо за любую помощь.