iOS AVPlayer之無縫切換播放(類似今日頭條視訊播放效果)

盧三發表於2017-12-21

當我們在使用今日頭條或者UC頭條的時候,會發現點選cell上的視訊播放一段時間後,再點選cell上的評論會跳到另外一個控制器,但是視訊播放的位置和快取的進度跟第一級控制器cell上位置一模一樣,看起來就像是2個控制器共用一個視訊播放器,這種無縫切換的效果使用者體驗很好,做法其實只需公用一個AVURLAsset就可以做到。 AVPlayer的建立 self.urlAsset =[AVURLAsset assetWithURL:URL]; 使用AVURLAsset然後將asset物件匯入到AVPlayerItem中 self.item=[AVPlayerItem playerItemWithAsset:self.assert]; 再將item物件新增到AVPlayer中 self.player=[[AVPlayer alloc]initWithPlayerItem:self.item]; 比直接使用AVPlayer初始化方法播放URL如 self.player=[[AVPlayer alloc]initWithURL:url]; 的好處是,self.urlAsset可以記錄快取大小,而直接使用AVPlayer初始化URL不利於多個控制器更好的銜接快取大小。而接下來,點選跳轉到下一頁面播放的時候,依然建立AVPlayer,只需共享同一資源並且同時seekToTime即可實現。

螢幕快照 2017-10-20 下午2.08.21.png

GitHub原始碼

相關文章