【问题标题】:How to force AVPlayer to pause buffering when it is in paused state?处于暂停状态时如何强制 AVPlayer 暂停缓冲?
【发布时间】:2015-11-19 22:55:09
【问题描述】:

我正在使用 AVPlayer 播放视频。我使用AVPlayer pause 来暂停播放器。但是通过 Charles 的观察可以看出,当播放器处于暂停状态时,流段仍在被下载。

我找到了AVPlayer buffering, pausing notification, and poster frame,但他们说是

AVPlayer 会在几种情况下缓冲视频,不明确 记录在案

这是正常行为吗?播放器暂停时如何让缓冲暂停?

【问题讨论】:

  • iOS 9 中结帐canUseNetworkResourcesForLiveStreamingWhilePaused
  • canUseNetworkResourcesForLiveStreamingWhilePaused 根据文档应该没问题,但在我的情况下它不起作用。

标签: ios stream buffer avplayer pause


【解决方案1】:

您需要管理avplayer currentItem的preferredForwardBufferDuration。如果您想停止缓冲设置值为 1,因为如果将其设置为 0,它将自动设置

self.avPlayer.currentItem.preferredForwardBufferDuration = 1;

来自 Apple 文档:此属性定义了首选的转发缓冲区持续时间(以秒为单位)。如果设置为 0,播放器将为大多数用例选择适当的缓冲级别。将此属性设置为较低的值会增加播放停止和重新缓冲的机会,而将其设置为较高的值会增加对系统资源的需求。

【讨论】:

    猜你喜欢
    • 2012-06-30
    • 2017-06-06
    • 1970-01-01
    • 2012-05-25
    • 2011-11-26
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多