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

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

【问题讨论】:

标签: ios video-streaming buffer avplayer audio-streaming


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    希望对你有帮助。

    【讨论】:

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

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

    player.currentItem?.preferredForwardBufferDuration
    

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

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

    【讨论】:

    • 请解释您的解决方案,以便其他人可以对此有所了解。
    • 你应该为你的代码写一点解释。
    猜你喜欢
    • 2021-09-02
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多