我熟悉从 UIImage
生成字节数组。但是我如何从视频中做到这一点?这就是我在 imagePickerController
委托(delegate)方法 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)
最佳答案
视频与 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 编解码器编码,但也存在其他格式。
关于ios - 将视频从相机转换为字节数组 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491259/