gpt4 book ai didi

ios - 如何直接在 iOS 应用程序中存储和使用 MP4 文件

转载 作者:行者123 更新时间:2023-11-29 05:32:09 25 4
gpt4 key购买 nike

我尝试使用以下命令将用户相机胶卷中的视频直接存储在应用程序本身上:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

let videoURL = info[UIImagePickerController.InfoKey.mediaURL] as! URL
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0]
let fileName = String(Date().hashValue) + ".mp4"
let dataPathStr = documentsDirectory + "/" + fileName
url = dataPathStr
let dataPath = URL(fileURLWithPath: dataPathStr)

var videoData : NSData?
do {
try videoData = NSData(contentsOf: videoURL)
videoData?.write(to: dataPath, atomically: true)
} catch {
print("Error saving video:")
print(error)
}

self.dismiss(animated: true) {
self.performSegue(withIdentifier: "importToCrop", sender: self)
}
}

我可以使用此功能,因为我可以在使用其 URL (dataPath) 存储视频后访问该视频。

但是,当我关闭并重新打开应用程序时,我无法再通过同一 URL 进行访问 - 似乎一旦应用程序关闭,视频就会被删除。

有没有办法检查视频是否确实被删除,或者是否有更好的方法在应用程序上存储 mp4 文件?

最佳答案

弄清楚了——事实证明我保存上面文件的方式是正确的,但我没有意识到文档目录的路径随着每次运行而改变。

因此,要检索存储在 Documents 目录中的文件,您必须每次都通过以下方式获取 url:

    func getVideoURL(fileName : String)-> URL {
return FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent(fileName)
}

关于ios - 如何直接在 iOS 应用程序中存储和使用 MP4 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57438271/

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