【问题标题】:How handle streaming error with AVPlayer如何使用 AVPlayer 处理流错误
【发布时间】:2014-07-23 03:33:24
【问题描述】:

我使用 AVPlayer 流式传输曲目。我正在尝试处理所有错误,例如网络不可用或流不可用 但我找到了处理这种错误的任何处理程序。

我已经为 avplayer 的状态添加了一个 KVO。

 [self.player addObserver:self forKeyPath:@"status" options:0 context:nil];

但是连流都不存在(例如:错误的url),状态切换到AVPlayerStatusReadyToPlay。

编辑

解决方案是使用 AVPLayerItems 并使用 AVQueuPlayer。另一个问题是我在每个轨道上都重新分配了这个播放器。

【问题讨论】:

    标签: error-handling streaming audio-streaming avplayer key-value-observing


    【解决方案1】:

    将 KVO 添加到 AVPlayerItem 而不是使用 NSKeyValueObservingOptionNew 的 AVPlayer。

    [playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:NULL];
    [self.player replaceCurrentItemWithPlayerItem:playerItem];
    

    【讨论】:

    • 是的,解决方案是观察 AVPlayerItem 而不是播放器。
    【解决方案2】:

    有一个通知你要订阅

    [nc addObserver:self selector:@selector(_itemDidError:) name:AVPlayerItemNewErrorLogEntryNotification object:_playerItem];
    

    但这并不能解决所有问题。我看到它不会在像 404 这样的情况下触发

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 1970-01-01
      • 2016-10-17
      • 2011-06-01
      • 2013-12-02
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多