【发布时间】:2017-06-09 06:33:12
【问题描述】:
我在社区上探索了其他答案并尝试了这个 -
player = AVPlayer()
player.volume = 0.0
player.actionAtItemEnd = AVPlayerActionAtItemEnd.None
addPlayerLayer()
let asset = AVAsset.init(URL: videoURL)
asset.loadValuesAsynchronouslyForKeys(["duration", "playable"]) {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
let item = AVPlayerItem.init(asset: asset)
self.player.replaceCurrentItemWithPlayerItem(item)
self.player.play()
})
}
但是,只要网络速度较慢,滚动 collectionView 时就会出现明显的延迟/打嗝。难道我做错了什么?请帮忙
【问题讨论】:
-
不是重复的,是关于collectionView在播放视频时的滚动性能。
-
你是怎么做到的?我有一堆来自服务器的视频需要在收藏视图中水平播放..
-
@FaridAlHaddad 最后,我首先播放可见视频,然后在滚动时播放视频滚动停止(只有那些可见的视频)。这没有滞后。如果此策略适合您的要求并且您需要代码方面的帮助,请告诉我,我可以发布此问题的答案。
-
是的,这对我有用,你能告诉我你是怎么做到的吗?另外,我认为每次滚动视频都会从互联网再次加载消耗大量数据,你知道我该如何处理视频的缓存吗?谢谢你,密歇根
标签: ios swift uicollectionview avplayer avplayeritem