从视频中捕获静止图像并添加到单独的视图控制器 Swift 中的图像视图

贾斯汀罗宾逊

我试图从从图像选择器中选择的视频中获取缩略图,并将缩略图添加到单独的视图控制器中的 UIImageView 中,但是,我收到错误消息:

线程 1:致命错误:在第二个视图控制器中展开 Optional 值时意外发现 nil

我知道错误意味着什么我只是不明白为什么缩略图没有被传递到 UIImageView 中的下一个视图控制器

这是我的第一个视图控制器的代码。

    @IBAction func upload(_ sender: Any) {
      let pickerController = UIImagePickerController()
      pickerController.delegate = self
      pickerController.mediaTypes = ["public.movie"]
      present(pickerController, animated: true, completion: nil)  
 }
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    if let videoUrl = info[UIImagePickerControllerMediaURL] as? URL {
        self.vidurl = videoUrl
            func prepare(for segue: UIStoryboardSegue, sender: Any?) {
                if segue.identifier == "toupload" {
                    let uploadvc = segue.destination as! UploadVC
                    uploadvc.videourl = vidurl
                }
            }
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage{
        func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            if segue.identifier == "toupload" {
                let uploadvc = segue.destination as! UploadVC
                uploadvc.previewImage.image = image
            }
        }
    }
    performSegue(withIdentifier: "toupload", sender: nil)
  }
    dismiss(animated: true, completion: nil) 
}

这是第二个视图控制器的代码

@IBOutlet weak var previewImage: UIImageView!


var videourl: URL?


override func viewDidLoad() {
    super.viewDidLoad()

    previewImage.image = thumbnailImageForFileUrl(videourl!) Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

}

func thumbnailImageForFileUrl(_ fileUrl: URL) -> UIImage? {
    let asset = AVAsset(url: fileUrl)
    let imageGenerator = AVAssetImageGenerator(asset: asset)
    do {
        let thumbnailCGImage = try imageGenerator.copyCGImage(at: CMTimeMake(7, 1), actualTime: nil)
        return UIImage(cgImage: thumbnailCGImage)
    } catch let err {
        print(err)
    }

    return nil
}
什_汗

目前,您正在prepareForSegue选择器的回调中嵌套函数,因此将其删除并在视图控制器的范围内声明它,因此当您调用 performSegue 时,类的 videoUrl 被分配给 secondVC 的 videoUrl 导致非零。这应该出来并调用 performSegue

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let videoUrl = info[UIImagePickerControllerMediaURL] as? URL {
    self.vidurl = videoUrl
  }
  else
  {
   }
    performSegue(withIdentifier: "toupload", sender: nil)

 } 

///

   func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            if segue.identifier == "toupload" {
                let uploadvc = segue.destination as! UploadVC
                uploadvc.videourl = vidurl
            }
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中创建图像视图

来自分类Dev

如何在 xib 视图控制器中添加图像 (swift3)

来自分类Dev

将Swift文件添加到xCode中的新视图控制器?(简单)

来自分类Dev

将 JSON 中的图像添加到滚动视图 Swift 4

来自分类Dev

使用Swift UIActivityViewController共享来自单独的类(视图控制器)的图像?

来自分类Dev

Swift中的初始视图控制器

来自分类Dev

Swift:关闭图像视图

来自分类Dev

Swift:关闭图像视图

来自分类Dev

如何在swift 4中使图像视图圆形

来自分类Dev

如何从iOS中的自定义视频播放器屏幕捕获静止图像?

来自分类Dev

如何从iOS中的自定义视频播放器屏幕捕获静止图像?

来自分类Dev

应用程序中的每个视图控制器是否需要单独的.swift文件?

来自分类Dev

添加子视图控制器Swift

来自分类Dev

在Swift中将TextField添加到UIAlertView中,并保存到TableView控制器中

来自分类Dev

在Swift中将TextField添加到UIAlertView中,并保存到TableView控制器中

来自分类Dev

在Swift中显示和关闭模式视图控制器

来自分类Dev

Swift中的遍历视图控制器层次结构

来自分类Dev

如何从视图控制器Swift的扩展中检索值

来自分类Dev

在Swift中的视图控制器之间传递对象

来自分类Dev

在Swift中的视图控制器之间传递数据

来自分类Dev

Swift-从完成块中消除视图控制器

来自分类Dev

在Swift中访问堆栈上的视图控制器数组

来自分类Dev

在Swift中初始化视图控制器

来自分类Dev

在相同的视图控制器中打开与在(swift)上关闭

来自分类Dev

Xcode / Swift-多个视图控制器中的元素

来自分类Dev

在Swift中设置UITabBarController的视图控制器

来自分类Dev

在 Swift UIscrollview 中设置视图控制器的形状

来自分类Dev

在 swift 4 中显示和关闭视图控制器

来自分类Dev

文本视图和图像视图从Xcode 6.1故事板中的视图控制器中消失

Related 相关文章

  1. 1

    在Swift中创建图像视图

  2. 2

    如何在 xib 视图控制器中添加图像 (swift3)

  3. 3

    将Swift文件添加到xCode中的新视图控制器?(简单)

  4. 4

    将 JSON 中的图像添加到滚动视图 Swift 4

  5. 5

    使用Swift UIActivityViewController共享来自单独的类(视图控制器)的图像?

  6. 6

    Swift中的初始视图控制器

  7. 7

    Swift:关闭图像视图

  8. 8

    Swift:关闭图像视图

  9. 9

    如何在swift 4中使图像视图圆形

  10. 10

    如何从iOS中的自定义视频播放器屏幕捕获静止图像?

  11. 11

    如何从iOS中的自定义视频播放器屏幕捕获静止图像?

  12. 12

    应用程序中的每个视图控制器是否需要单独的.swift文件?

  13. 13

    添加子视图控制器Swift

  14. 14

    在Swift中将TextField添加到UIAlertView中,并保存到TableView控制器中

  15. 15

    在Swift中将TextField添加到UIAlertView中,并保存到TableView控制器中

  16. 16

    在Swift中显示和关闭模式视图控制器

  17. 17

    Swift中的遍历视图控制器层次结构

  18. 18

    如何从视图控制器Swift的扩展中检索值

  19. 19

    在Swift中的视图控制器之间传递对象

  20. 20

    在Swift中的视图控制器之间传递数据

  21. 21

    Swift-从完成块中消除视图控制器

  22. 22

    在Swift中访问堆栈上的视图控制器数组

  23. 23

    在Swift中初始化视图控制器

  24. 24

    在相同的视图控制器中打开与在(swift)上关闭

  25. 25

    Xcode / Swift-多个视图控制器中的元素

  26. 26

    在Swift中设置UITabBarController的视图控制器

  27. 27

    在 Swift UIscrollview 中设置视图控制器的形状

  28. 28

    在 swift 4 中显示和关闭视图控制器

  29. 29

    文本视图和图像视图从Xcode 6.1故事板中的视图控制器中消失

热门标签

归档