Сбой фронтальной камеры при включении вспышки для нестандартной камеры? - PullRequest
0 голосов
/ 18 сентября 2018

Я пытался настроить включение / выключение вспышки для камеры в пользовательском приложении камеры, я пытаюсь сделать, но камера продолжает зависать при включении вспышки в режиме передней камеры в iPhone 6. Любая помощь приветствуется.Спасибо.

if ((currentCamera?.hasFlash)!) {
    do {
        _ = try currentCamera?.lockForConfiguration()
    } catch {
        print("aaaa")
    }

    if (currentCamera?.isTorchActive)! {
        sender.setImage(UIImage(named: "flashOff"), for: .normal)
        currentCamera?.torchMode = AVCaptureDevice.TorchMode.off
    } else {
        // sets the torch intensity to 100%
        do {
            sender.setImage(UIImage(named: "flash"), for: .normal)
            _ = try currentCamera?.setTorchModeOn(level: 1.0)
        } catch {
            print("bbb")
        }
        //    avDevice.setTorchModeOnWithLevel(1.0, error: nil)
    }
    // unlock your device
    currentCamera?.unlockForConfiguration()
}

1 Ответ

0 голосов
/ 18 сентября 2018

Без сокрушительного бревна сложно ответить.

//this code works for me. 

if ([self.captureDevice isFlashAvailable]) {
    if (self.captureDevice.flashActive) {
        if([self.captureDevice lockForConfiguration:nil]) {
            self.captureDevice.flashMode = AVCaptureFlashModeOff;
            [sender setTintColor:[UIColor grayColor]];
            [sender setSelected:NO];
        }
    }
    else {
        if([self.captureDevice lockForConfiguration:nil]) {
            self.captureDevice.flashMode = AVCaptureFlashModeOn;
            [sender setTintColor:[UIColor blueColor]];
            [sender setSelected:YES];
        }
    }
    [self.captureDevice unlockForConfiguration];
}
...