设置AVPlayer AVPlayerItem缓冲区大小?

xyw*_*wjf 3 ios avplayer avplayeritem

使用avplayer播放视频,收听loadedTimeRanges属性,播放大约10分钟的视频,avplayer总是会预加载视频,并且感觉非常昂贵,是否有办法限制预加载区域的大小?比如一半时间预加载视频?

Sha*_*ord 6

我认为您正在寻找AVPlayerItem的preferredForwardBufferedDuration属性。

每个苹果:

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

参见https://developer.apple.com/reference/avfoundation/avplayeritem/1643630-preferredforwardbufferduration?language=objc

  • 谢谢,不过这个属性可能不是我要找的,我用的是avplayer,但是它是自动缓冲视频的,在使用KVO监视器的loadedTimeRanges属性时,发现即使我不读取所有视频,也会全部加载,我想有没有办法只加载一部分缓存。 (2认同)