无法以正确的时间闪烁

时间:2016-03-18 16:24:21

标签: ios swift avfoundation avcapturedevice avcapture

我无法使用相机拍摄iOS应用中的闪光灯。

这是我想要使闪光灯工作时调用的功能:

func litFlash() {
    if !captureDevice.hasFlash || !captureDevice.isFlashModeSupported(.On) {return}

    // We now have: captureDevice.hasFlash && captureDevice.isFlashModeSupported(.On)
    do {try captureDevice.lockForConfiguration()
    } catch let error as NSError {
        print("captureDevice.lockForConfiguration FAILED")
        print(error.code)
    }
    captureDevice.torchMode = .On
    //captureDevice.flashMode = .On // Strangely enough, this produces a crash.
    captureDevice.unlockForConfiguration()
    //captureSession.commitConfiguration()
}

这是我调用函数的地方:

    if fireFlashFlag {litFlash()}

    if let videoConnection = stillImageOutput.connectionWithMediaType(AVMediaTypeVideo) {
        stillImageOutput.captureStillImageAsynchronouslyFromConnection(videoConnection) {
            (imageDataSampleBuffer, error) -> Void in
    ………

它可以工作大约20%,其余的我得到一个闪光但它与拍照不同步。 闪光灯太早出现了一小段时间。

希望有人能指出我正确的方向。 提前感谢任何相关的信息。

0 个答案:

没有答案