swift - Swift 5 从本地缓存播放视频
问题描述
我正在尝试减少我的应用程序的数据消耗。这就是为什么我在我的 tableviewCells 中为视频实现了以下缓存
https://stackoverflow.com/a/45062989/7186851
到目前为止,它可以工作,我可以检查视频是否在我的缓存中,但我无法从本地缓存中播放它
缓存的视频路径看起来像这样
file:/Users/Dev1/Library/Developer/CoreSimulator/Devices/86AFC4DE-CA7F-4AA4-97EE-0FB17173D5A4/data/Containers/Data/Application/697F3F33-A87A-4CDD-A1D0-D124A8CA5593/Library/Caches/-MV8TA8hReegG2OIUyy0 -- file:///
尝试在 AVPlayer 中播放视频时,它不起作用。
CacheManager.shared.getFileWith(stringUrl: vUrl) { result in
switch result {
case .success(let newUrl):
uri = URL(fileURLWithPath: newUrl.absoluteString)
// let url = URL(string: uri)
print(uri)
self.player = AVPlayer(url: uri)
self.playerLayer = AVPlayerLayer(player: self.player)
self.playerLayer?.frame = self.postImageView.frame
self.contentView.layer.addSublayer(self.playerLayer!)
case .failure(_):
uri = URL(string: vUrl)
}
}
之后我开始播放视频。当我从我的 cloudStorage 下载我的视频时,它工作得非常好,但我无法播放缓存的视频。
有什么建议怎么做吗?如果有帮助,我有一个与 tiktok/instagram&fb 类似的视频源。
解决方案
推荐阅读
- android-edittext - `android:editable` 已弃用:使用 `
` 使其可编辑 - java - 是否可以使用 bazel 查询来输出隐式(或任何)规则的完整语法?
- python - 在由 2 个字段分组的 DataFrame 中,从第一个分组字段内的第二个分组字段计算行 n 和 n-1 之间的差异
- reactjs - 如何使用 React Router 将信息从子组件传输到父组件 React.js
- r - 用于 Leaflet/R 的 addLegend 中的组函数未正确分离图例
- c - 将函数内部的指针分配给参数并在函数内部设置指向 Null 的指针是可以的
- java - 从 JMS 队列中批量获取
- python - PYthon - 字符串列表到嵌套的字符串列表中,其中每个列表包含每个字符串的元素
- mongodb - 带有子字段的 mongo $cond
- rust - 如何使用 From 制作可从所有其他类型转换的类型
?