【问题标题】:Converting Video from Camera to Byte Array Swift将视频从相机转换为字节数组 Swift
【发布时间】:2016-07-20 21:36:08
【问题描述】:

我熟悉从UIImage 生成字节数组。但是我如何从视频中做到这一点?这就是我在imagePickerController 委托方法didFinishPickingMediaWithInfo 中所拥有的。

if let media = info[UIImagePickerControllerOriginalImage] as? UIImage {
        let byteArray = UIImageJPEGRepresentation(media, 1.0)
        print("hi")
    } else {
        //stuck here
    }
    FIRDatabase.database().reference().child("dataUploaded").setValue("uploaded")
    uploaded = true
    dismissViewControllerAnimated(true, completion: nil)

【问题讨论】:

    标签: ios swift xcode swift2


    【解决方案1】:

    视频的工作方式与 UIImagePickerController 中的图像略有不同。 UIImagePickerController 不提供原始视频数据,而是返回视频文件的 URL。

    使用info[UIImagePickerControllerMediaURL] 获取视频文件的 URL。您可以使用 NSData(contentsOfURL:) 初始化程序加载文件的字节。

    例如

    if let fileURL = info[UIImagePickerControllerMediaURL] as? NSURL { 
         let bytes = try? NSData(contentsOfURL: fileURL) 
    }
    

    注意:bytes 是可选的,因为加载视频可能会失败。

    通常视频是 MOV 或 MP4 视频文件,其内容使用 .H264 编解码器编码,但也存在其他格式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 2016-06-07
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多