1
我有困難時期,因爲我覺得應該很簡單。 我只想在我的iOS應用程序中拍照時點亮閃光燈。我試過的所有失敗或只有20%。不能使用AVCaptureDevice和閃光燈
這裏是燒製以點亮閃光燈時的代碼:
// Here we have: captureDevice.hasFlash && captureDevice.isFlashModeSupported(.On)
do {try captureDevice.lockForConfiguration()
captureDevice.flashMode = .On
captureDevice.unlockForConfiguration()
} catch let error as NSError {
print("captureDevice.lockForConfiguration FAILED")
print(error.code)
}
我已經嘗試了代碼的幾種口味,通過移動2行try塊到最後的內部,或者通過調用包含該函數這個代碼來自不同的點。但是,在時間的所有情況下,運行以下命令:
stillImageOutput.captureStillImageAsynchronouslyFromConnection(videoConnection) {
(imageDataSampleBuffer, error) -> Void in
我收到以下錯誤:
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSUnderlyingError=0x13f079340 {Error Domain=NSOSStatusErrorDomain Code=-16800 "(null)"}, NSLocalizedFailureReason=An unknown error occurred (-16800), NSLocalizedDescription=The operation could not be completed}
如果我再更換行:
captureDevice.flashMode = .On
由:
captureDevice.torchMode = .On
我得到了一些或多或少的工作(不幸的是寧可少),沒有錯誤,但是這是使用火炬,所以我得到的計時問題:
而且目前尚不清楚,如果我需要在我的代碼某個時候使用這行:
captureSession.commitConfiguration()