[AVPlayer] Reload 方法

352 阅读1分钟

当我们的AVPlayer播放器组件.遇到种种异常想要重新加载的时候. reload方法内要做些什么呢?

  1. 重新创建AVURLAsset
  2. 重新创建AVPlayerItem,如果当前在pip模式下. 不能给playerItem设置为nil.因为会导致退出pip模式
  3. 给playerItem添加观察者
  4. replaceCurrentItem
[self.player replaceCurrentItemWithPlayerItem:item];

5.还原一些设置例如 rate. 分辨率 字幕等设置 6. 如果是非直播流 要seek到reload之前的位置.