error-handling - 如何使用 AVPlayer 处理流媒体错误

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

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

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

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

但即使流不存在(例如:url 错误),状态切换到 AVPlayerStatusReadyToPlay。

编辑

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

最佳答案

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

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

关于error-handling - 如何使用 AVPlayer 处理流媒体错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004313/

相关文章:

streaming - 99% 延迟和吞吐量的含义是什么

php - 如何防止来自 Internet 下载管理器 IDM 的文件 HotLink

audio - 网络音频直播

php - 将错误添加到 pdo_error.ctp

javascript - 如果没有经纬度值,请不要在 map 上标绘。

java - 网络摄像头流的 fps 非常慢

python - Python Pyaudio —如何播放通过HTTP流传输的文件

javascript - 跨浏览器音频支持(无 Flash)

ios - swift : catch error case with parameters but with access to the error object

database - 如何在 Heroku 中重命名数据库?