将视频从相机转换为字节数组Swift

时间:2016-07-20 21:36:09

标签: ios swift xcode swift2

我熟悉从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)

1 个答案:

答案 0 :(得分:2)

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

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

E.g。

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

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

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