为什么AVPlayer不会停止加载数据?

时间:2014-02-25 00:37:57

标签: ios ios7 avplayer

当我观看我的mac的网络连接时,即使删除了包含AVPlayer的视图,我仍可以看到电影仍在缓冲。

有谁知道如何强制AVPlayer停止加载数据?

4 个答案:

答案 0 :(得分:3)

回答这个问题可能已经很晚了,但我刚刚解决了同一个问题。 只要保存在这里,万一有人需要......

    [self.player.currentItem cancelPendingSeeks];
    [self.player.currentItem.asset cancelLoading];

AVPlayer课程中没有取消方法,但AVPlayerItemAVAsset课程中有取消方法!

PS:player这里是AVPlayer类,而不是AVQueuePlayer类。

答案 1 :(得分:1)

我遇到了同样的问题,并且此行解决了它。.

self.avPlayer?.replaceCurrentItem(with: AVPlayerItem(url: URL.init(string: "https://www.asdfasdfasdfasdfasdfasd.net/")!))

我还调用了函数

asset?.cancelLoading()

资产是我的玩家处理程序类中的AVURLAsset对象

答案 2 :(得分:0)

AVPlayer不是视图。您可能已“删除了视图”,但这并不意味着您已删除或停止了AVPlayer。我猜你做你想做的事就是破坏AVPlayer本身。

答案 3 :(得分:-1)

我明白了。

如果要停止加载AVPlayerItem,请使用AVQueuePlayer的removeAllItems然后重新初始化它。

  [self.avPlayer removeAllItems];
  self.avPlayer = [AVQueuePlayer playerWithURL:[NSURL URLWithString:@""]];
  self.avPlayer = nil;

这将阻止当前项目加载 - 这是我找到完成此任务的唯一方法。