AVPlayer 在将 PlayerItem 加载到播放器之前开始缓冲它

Posted

技术标签:

【中文标题】AVPlayer 在将 PlayerItem 加载到播放器之前开始缓冲它【英文标题】:AVPlayer start buffering PlayerItem before loading it in player 【发布时间】:2020-06-12 16:06:24 【问题描述】:

有谁知道是否有办法在将 AVPlayerItem 加载到 AVPlayer 之前开始缓冲它们?我有一组想要按顺序播放的播放器项目,我不希望它们之间有任何延迟。

我尝试过使用 AVQueuePlayer,但这似乎并没有帮助,有些人说 AVQueuePlayer 不会提前预缓冲下一个视频。我也尝试使用 canUseNetworkResourcesForLiveStreamWhilePaused 和 preferredForwardBufferDuration 的 AVPlayerItem 设置,但它们似乎都没有做任何事情。似乎 playerItem 在被 AVPlayer 播放之前实际上不会缓冲。

【问题讨论】:

【参考方案1】:

我找到了一种解决方法,可以创建多个 AVPlayer,而不是使用 1 个 AVPlayer 和多个 playerItem。似乎一旦将 playerItem 加载到 AVPlayer 中,它就会开始缓冲,所以我现在只为每个 playerItem 使用单独的 AVPlayer 并且没有延迟。

【讨论】:

以上是关于AVPlayer 在将 PlayerItem 加载到播放器之前开始缓冲它的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableView 中更改 AVPlayer 的 playerItem

如何暂停/恢复 avplayer 预加载

在加载资产后立即在AVPlayer中寻找某个位置

AVPlayer的使用,带缓冲

关于AVplayer 缓冲问题的处理

确定 AVPlayer 比特率