- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 UIImagePickerController 保存用相机录制的视频。我尝试了两种不同的方法,但都不起作用。
第一次尝试:
if let pathURL = info["UIImagePickerControllerMediaURL"] as! URL?, mediaType == kUTTypeMovie {
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: pathURL)
}, completionHandler: { (isSuccessfull, error) in
if error != nil {
// ERROR
// error.localizedDescription value below
// "The operation couldn’t be completed. (Cocoa error -1.)"
} else if isSuccessfull {
// SUCCESS
}
})
}
在这次尝试中,我总是收到错误“操作无法完成。(Cocoa 错误 -1。)”
第二次尝试:
if let filePath = info["UIImagePickerControllerMediaURL"] as! NSURL,
let stringPath = filePath.path {
UISaveVideoAtPathToSavedPhotosAlbum(stringPath, self, #selector(Controller.videoSaved(videoPath:didFinishSavingWithError:contextInfo:)), nil)
}
这也不起作用...回调,错误为零,但视频未保存到相机胶卷中。另外,当我使用 UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(stringPath)
时,此方法也始终返回 false
。我无法理解为什么录制的视频不兼容保存。
我真的不知道我做错了什么。我缺少什么? plist 中的配置?
以下是 info["UIImagePickerControllerMediaURL"]
的值: 文件:///private/var/mobile/Containers/Data/Application/2B9BE04A-17B3-49CE-B4BA-C45F183E9A64/tmp/837294779101__C4825AFE-8140-420F-ACD0-64623C7A4753.MOV
对于用相机拍摄的照片,PHPhotoLibrary方法工作得很好...只是视频无法保存。
最佳答案
不确定 100%,但我相信它对我不起作用,因为我仅在对 API 的请求成功后才保存视频。我的假设是路径 URL 是临时的并且生命周期很短。当我将它传递给另一个 Controller 并进行 API 调用时,它不起作用。但是如果我直接在 UIImagePickerViewController 的委托(delegate)方法中保存视频,那么它就可以正常工作。
关于ios - UIImagePickerController - 将录制的视频保存到相机胶卷错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484068/
我是一名优秀的程序员,十分优秀!