KTVHTTPCache
KTVHTTPCache copied to clipboard
通过cacheCompleteFileURLWithURL 获取缓存地址失败,我实在AVPlayer的KVO里判断缓存时间和音乐时间一致的时候获取这个缓存地址,请问是我获取缓存的方法不对么?
}else if keyPath == "loadedTimeRanges"{ //获取最新缓存区间 let loadTimeArray = playerItem.loadedTimeRanges let newTimeRange:CMTimeRange = loadTimeArray.first as! CMTimeRange let startSeconds = CMTimeGetSeconds(newTimeRange.start) let durationSeconds = CMTimeGetSeconds(newTimeRange.duration) let totalBuffer = startSeconds + durationSeconds print("总缓存时长\(totalBuffer),总时长\(durationSeconds) 已经播放时长\(self.nowTime ?? 0)") // if Float64(totalBuffer) > Float64(self.nowTime! + 20) {//缓存下面的3个视频} if Float64(totalBuffer) == Float64(durationSeconds) { self.downLoadURL = KTVHTTPCache.cacheCompleteFileURL(with: URL(string: (self.originalURL!))) print("out file music path:\(String(describing: self.downLoadURL))") } } }
解决了吗,我这边视频都播放缓存了几遍了,获取的还是空的
解决了吗,我这边视频都播放缓存了几遍了,获取的还是空的
KVO里拿到的缓存地址一般会快两秒,推测应该是缓存写入后的异步造成的时间差,你可以自己写缓存拿到缓存文件的地址相对比较准确。
解决了吗,我这边视频都播放缓存了几遍了,获取的还是空的
KVO里拿到的缓存地址一般会快两秒,推测应该是缓存写入后的异步造成的时间差,你可以自己写缓存拿到缓存文件的地址相对比较准确。
不知道啥意思啊,这个缓存的视频想拿到链接直接保存到相册的,但是拿到的链接一直是空的。
- 当地址对应的视频资源被服务器释放后才会合成完整文件
- 资源占用中要保存可以用 KTVHCDataReader