微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在像 VStack 这样的视图中显示下载的 mp4 并播放它 AVPlayer, SwiftUI

如何解决在像 VStack 这样的视图中显示下载的 mp4 并播放它 AVPlayer, SwiftUI

我正在处理视频流应用的离线下载部分。目前,我可以下载视频,也可以看到下载的文件路径,如下所示:

        Button(action: {
            let fileManager = FileManager.default

            do {
                let resourceKeys : [URLResourceKey] = [.creationDateKey,.isDirectoryKey]
                let documentsURL = try fileManager.url(for: .documentDirectory,in: .userDomainMask,appropriateFor: nil,create: false)
                let enumerator = FileManager.default.enumerator(at: documentsURL,includingPropertiesForKeys: resourceKeys,options: [.skipsHiddenFiles],errorHandler: { (url,error) -> Bool in
                                                                    print("directoryEnumerator error at \(url): ",error)
                                                                    return true
                })!

                for case let fileURL as URL in enumerator {
                    let resourceValues = try fileURL.resourceValues(forKeys: Set(resourceKeys))
                   // print(fileURL.path,resourceValues.creationDate!,resourceValues.isDirectory!)
                    print(fileURL.path)
                    self.array.append(fileURL.path)
                }
            } catch {
                print(error)
            }
        }){
            Text("Check downloads")
        }

//response when button is clicked

/private/var/mobile/Containers/Data/Application/AD90B554-3465-43DD-BAE2-04BC83F850A3/Documents/Bz75srG5nctDCnAWIspM.mp4

/private/var/mobile/Containers/Data/Application/AD90B554-3465-43DD-BAE2-04BC83F850A3/Documents/GWYgrgDVYaowxeGcOjzp.mp4

因为我已经使用电影 ID(例如:GWYgrgDVYaowxeGcOjzp.mp4)重命名了 mp4 文件,所以我的目标是使用这个名称显示哪些视频被下载并允许用户播放视频。我可以稍后进行名称处理,但是如何将下载的 mp4 文件放入像 vstack 这样的视图中?我正在考虑循环并将文件添加到数组中,但想检查是否有不同的方式。另外,如果您能告诉我如何使用路径作为 url 播放视频,那就太好了。我尝试应用建议的方法,但最终出现“NSURLConnection 已完成错误 - 代码 -1002”错误。谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。