如何暂停/恢复 avplayer 预加载

Posted

技术标签:

【中文标题】如何暂停/恢复 avplayer 预加载【英文标题】:How to pause/resume avplayer preload 【发布时间】:2015-10-30 08:40:28 【问题描述】:

我正在使用AVPlayer 播放来自互联网的视频,有没有办法在暂停/恢复播放时暂停/恢复预加载视频?

【问题讨论】:

这可能对***.com/questions/32892520/…有帮助 【参考方案1】:

一种方法是将您的 AVURLAsset 保存到一个变量 (tempAsset = player.playerItem.asset),然后将播放器中的 playerItem 替换为 nil。当您准备好再次播放时,您可以从之前保存的资产创建一个新的playerItem

【讨论】:

【参考方案2】:

我有同样的问题,我使用缓冲区限制来停止在我的代码中预加载。 这对我有用。

您也可以尝试设置缓冲区限制以在单击暂停或恢复时停止预加载视频。

希望对你有帮助。

【讨论】:

如何使用 AVFoundation 在代码中设置缓冲区限制?【参考方案3】:

播放器应在播放头之前缓冲来自网络的媒体以防止播放中断的持续时间。

player.currentItem?.preferredForwardBufferDuration

当您使用AVPlayerItem 时,您可以设置缓冲区的时间间隔。示例:

AVPlayerItem(). preferredForwardBufferDuration = TimeInterval(exactly: 100)!

【讨论】:

请解释您的解决方案,以便其他人可以对此有所了解。 你应该为你的代码写一点解释。

以上是关于如何暂停/恢复 avplayer 预加载的主要内容,如果未能解决你的问题,请参考以下文章

设置 AVPlayer AVPlayerItem 缓冲区大小?

预加载 youtube 嵌入

JS代理模式实现图片预加载

Chrome 64 Mobile Android 未预加载且未自动播放静音视频

nuxt 如何预加载大图片

如何停止预加载?