大佬教程收集整理的这篇文章主要介绍了swift – 无法将Nil分配给AVCaptureDeviceInput类型,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
private func captureSetup (position : AVCaptureDevicePosition) { var captureError : NSError? var captureDevice : AVCaptureDevice! for testedDevice in AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo){ if (testedDevice.position == position) { captureDevice = testedDevice as! AVCaptureDevice } } if (captureDevice == nil) { captureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) } var deviceInput : AVCaptureDeviceInput do { deviceInput = try AVCaptureDeviceInput(device: captureDevicE) } catch let error as NSError { captureError = error deviceInput = nil // Nil cAnnot be assigned to type AVCaptureDeviceInput if captureError != nil { // new if print("error: \(captureError?.localizedDescription)") } } captureSession.sessionPreset = AVCaptureSessionPresetHigh if (captureError == nil) { if (captureSession.canAddInput(deviceInput)) { captureSession.addInput(deviceInput) } self.videoDataOutput = AVCaptureVideoDataOutput() self.videoDataOutput!.videoSetTings = [kCVPixelBufferPixelFormatTypeKey: Int(kCVPixelFormatType_32BGRA)] self.videoDataOutput!.alwaysDiscardsLateVideoFrames = true self.videoDataOutputQueue = dispatch_queue_create("VideoDataOutputQueue",DISPATCH_QUEUE_seriaL) self.videoDataOutput!.setSampleBufferDelegate(self,queue: self.videoDataOutputQueue!) if (captureSession.canAddOutput(self.videoDataOutput)) { captureSession.addOutput(self.videoDataOutput) } } visageCameraView.frame = UIScreen.mainScreen().bounds let previewLayer: AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession) as AVCaptureVideoPreviewLayer // changed to let previewLayer.frame = UIScreen.mainScreen().bounds previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill visageCameraView.layer.addSublayer(previewLayer) }
var deviceInput : AVCaptureDeviceInput?
现在,deviceInput不必保存任何有效值.所以你可以写下面的内容(虽然默认为nil)
deviceInput = nil
现在,假设您想在其他地方使用它.你可以使用如果像这样:
if let myNonNilValue = deviceInput { // myNonNilValue is for sure not nil }
以上是大佬教程为你收集整理的swift – 无法将Nil分配给AVCaptureDeviceInput类型全部内容,希望文章能够帮你解决swift – 无法将Nil分配给AVCaptureDeviceInput类型所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。