gpt4 book ai didi

ios - UIImagePickerController - 将录制的视频保存到相机胶卷错误

转载 作者:行者123 更新时间:2023-11-30 11:58:49 24 4
gpt4 key购买 nike

我正在尝试使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com