簡體   English   中英

iOS 12深度數據捕獲錯誤代碼11800

[英]iOS 12 Depth Data Capture error code 11800

var captureSession = AVCaptureSession()

override func viewDidLoad() {
    super.viewDidLoad()

    AVCaptureDevice.requestAccess(for: .video) { (succ) in
        print("\(succ) video")
    }
}

@IBAction func Shoot(_ sender: Any) {
    if captureSession.isRunning == true {
        captureSession.stopRunning()
    }
    let cam = AVCaptureDevice.DiscoverySession.init(deviceTypes: [.builtInDualCamera], mediaType: AVMediaType.video, position: .back)
    captureSession = AVCaptureSession()
    captureSession.beginConfiguration()
    do {
        let input = try AVCaptureDeviceInput(device: cam.devices.first!)
        captureSession.addInput(input)
    } catch {
        print(error)
    }
    captureSession.sessionPreset = .photo
    let output = AVCapturePhotoOutput()
    captureSession.addOutput(output)
    captureSession.commitConfiguration()
    output.isDepthDataDeliveryEnabled = true
    output.isHighResolutionCaptureEnabled = true
    captureSession.startRunning()
}

@IBAction func Go(_ sender: Any) {
    let output = captureSession.outputs.first as! AVCapturePhotoOutput
    output.capturePhoto(with: photoSettingsCreator(), delegate: self)
}

func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    if error != nil {
        print(error!)
    }
    let dat = photo.fileDataRepresentation()!
    let img = UIImage(data: dat)
    print(photo.depthData!)
}

func photoSettingsCreator() -> AVCapturePhotoSettings {
    let settings = AVCapturePhotoSettings(format: [AVVideoCodecKey : AVVideoCodecType.hevc, AVVideoCompressionPropertiesKey : [AVVideoQualityKey : 1.0]])
    settings.isDepthDataDeliveryEnabled = true
    settings.isHighResolutionPhotoEnabled = true
    settings.isAutoStillImageStabilizationEnabled = true
    settings.flashMode = .off
    return settings
}

直到我在手機上安裝了iOS 12 Beta為止,它都可以正常捕獲深度數據,但是現在出現錯誤:

錯誤域= AVFoundationErrorDomain代碼= -11800“操作無法完成” UserInfo = {NSLocalizedFailureReason =發生未知錯誤(-16800),NSLocalizedDescription =操作無法完成,NSUnderlyingError = 0x283094510 {錯誤域= NSOSStatusErrorDomain代碼=- 16800“(null)”}}

我不知道此錯誤來自何處。 錯誤將打印在照片輸出的if error部分。

可能是因為您的captureSession初始化了。 關閉視圖時進行反初始化,最有可能在viewWillDisappear內部

self.captureSession.deinitialize()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM