大佬教程收集整理的这篇文章主要介绍了ios – 主视图崩溃时的子视图将AVFoundation中的图像分配给UIImageView时,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
捕获图像方法:
@IBACtion func captureImage(sender: AnyObject) { if let stillOutput = self.captureImageOutput { // we do this on another thread so that we don't hang the UI dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)) { //find the video connection var videoConnection : AVCaptureConnection? for connecton in stillOutput.connections { //find a matching input port for port in connecton.inputPorts!{ if port.mediaType == AVMediaTypeVideo { videoConnection = connecton as? AVCaptureConnection break //for port } } if videoConnection != nil { break// for connections } } if videoConnection != nil { stillOutput.captureStillImageAsynchronouslyFromConnection(videoConnection){ (imageSampleBuffer : CMSampleBuffer!,_) in let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(imageSampleBuffer) let pickedImage: UIImage = UIImage(data: imageData,scale: 1.0)! dispatch_async(dispatch_get_main_queue(),{ self.capturePhoto.image = pickedImage }) } } } } }
我也尝试过dispatch_sync并且在UIImageView中没有任何加载,但屏幕不会崩溃.
dispatch_sync(dispatch_get_main_queue(),{ self.capturePhoto.image = pickedImage })
override func viewDidLoad() { super.viewDidLoad() imageView = UIImageView(frame: self.view.framE) self.view.addSubview(imageView) } func takeImage() { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)) { guard let videoConnection = self.stillImageOutput.connectionWithMediaType(AVMediaTypeVideo) else { return } guard videoConnection.enabled else { return } self.stillImageOutput.captureStillImageAsynchronouslyFromConnection(videoConnection) { (buffer: CMSampleBuffer!,error: NSError!) -> Void in let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(buffer) let image: UIImage = UIImage(data: imageData,scale: 1.0)! dispatch_async(dispatch_get_main_queue(),{ self.imageView.image = image print("picture taken") }) } } }
图像成功拍摄并添加到ViewController.如果这对您不起作用,也许您可以在设置上解释更多,以便我可以尝试重现错误/崩溃.
以上是大佬教程为你收集整理的ios – 主视图崩溃时的子视图将AVFoundation中的图像分配给UIImageView时全部内容,希望文章能够帮你解决ios – 主视图崩溃时的子视图将AVFoundation中的图像分配给UIImageView时所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。