在使用AVCaptureSession
和AVCaptureDevice
的应用中,我正在拍照并按预期进行。
我决定实施闪光灯的使用,并且会出现麻烦。
以下是我在网上搜索如何在iOS应用中使用Flash后添加的代码:
if captureDevice.hasFlash && captureDevice.isFlashModeSupported(.On) {
do {try captureDevice.lockForConfiguration()
} catch let error as NSError {
print("captureDevice.lockForConfiguration FAILED")
print(error.code)
}
captureDevice.flashMode = .On
captureDevice.unlockForConfiguration()
captureSession.commitConfiguration()
}
它编译正常但是当我尝试拍照时,应用程序崩溃并出现以下错误:
Error on taking a picture:
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation couldn’t be completed." UserInfo={NSUnderlyingError=0x14e176f40 {Error Domain=NSOSStatusErrorDomain Code=-16800 "(null)"}, NSLocalizedFailureReason=Undefined error(-16800), NSLocalizedDescription=The operation couldn’t be completed.}
由于我之前从未使用过闪光灯,因此很可能是一个新手错误。但在这一点上,我还没有弄清楚出了什么问题。 如果有人在应用程序中使用闪存的经验,请告诉我可能存在的问题。