gpt4 book ai didi

ios - 检测 AVPlayer 中的视频停顿

转载 作者:行者123 更新时间:2023-11-28 14:02:20 25 4
gpt4 key购买 nike

我正在我的应用程序中使用 AVPlayer API 播放 HLS 流。我希望能够检测到由于网络带宽不足或连接质量低下而导致视频播放停止的情况。

是否有任何可靠的方法来检测视频播放是否在屏幕上正常播放?

在我的测试过程中,我发现尽管视频播放实际上在屏幕上被卡住,但以下检查都报告了 OK 状态:

AVPlayer.status = .readyToPlay
AVPlayer.timeControlStatus = .playing
AVPlayerItem.status = .readyToPlay
AVPlayerItem.isPlaybackBufferEmpty = false
AVPlayerItem.isPlaybackLikelyToKeepUp = true

+ 和 addBoundaryTimeObserver 回调被触发。

其中一些最终会变成负值,但只是在延迟之后。

是否有任何 100% 可靠的方法来检测视频是否在设备上正常播放?

最佳答案

要确保媒体播放正常,请检查 AVPlayerItemrate

您还可以使用 AVPlayerItem 的通知来检测错误:

  • AVPlayerItemPlaybackStalled
  • AVPlayerItemFailedToPlayToEndTime
  • AVPlayerItemDidPlayToEndTime

请注意,AVPlayerItemDidPlayToEndTime 可以在缓冲区为空并且网络中断时触发。

这里有一个例子:PlaybackObservingService

关于ios - 检测 AVPlayer 中的视频停顿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com