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

标签 ios swift xcode swift2

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

相关文章:

ios - CoreData,定义模型,静态数据

iphone - UIAlertView 错误 : bool _WebTryThreadLock(bool),

swift - 通过 Cocoapods 添加后出现 Alamofire 错误

swift - 我不知道为什么我无法从 : http://upload. wikimedia.org/wikipedia/de/d/d2/Juventus_Turin.svg 下载此图像

ios - Xcode:针对特定语言导出到 XLIFF,而不是 "base"

iphone - iOS App 购买日期

ios - 如何获取 segue 标识符

Swift:仅对最后选定的单元格将复选标记切换为 ON - 不起作用

ios - 从 CMSampleBuffer 中提取数据以创建深拷贝

swift - 如何在 Swift 中使用静态库和模块映射文件?