首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"playbackBufferFull“和"playbackBufferEmpty”属性之间有什么区别?

"playbackBufferFull“和"playbackBufferEmpty”属性之间有什么区别?
EN

Stack Overflow用户
提问于 2016-06-03 10:40:40
回答 1查看 1.7K关注 0票数 2

我看到了AVPlayerItem的两个特性

代码语言:javascript
复制
@property (nonatomic, readonly, getter=isPlaybackBufferFull) BOOL playbackBufferFull;

@property (nonatomic, readonly, getter=isPlaybackBufferEmpty) BOOL playbackBufferEmpty;

现在,以下是苹果文档中的内容:

playbackBufferFull:

此属性报告用于回放的数据缓冲区已达到容量。尽管回放缓冲器达到了容量,但可能不存在足够的统计数据来支持playbackLikelyToKeepUpYES的预测。

playbackBufferEmpty:

它表示回放已经消耗了所有缓冲媒体,并且回放将停止或结束。

从这些发言中,我的理解是:

playbackBufferFull:

所有的数据都被载入播放了。例如,我正在播放一个来自URL的5分钟长的视频。当所有的内容,直到最后已经加载,这些将是真实的。

playbackBufferEmpty:

到目前为止,实际的回放已经消耗了加载的所有缓冲区。例如,直到2.3分钟的数据已经加载,回放也已经达到那个时候,没有更多的内容提供。(我认为现在是开始我们的旋转木马的时候了,一个指标)

我有误解什么吗?如果是,请纠正我..。

欢迎任何深度知识或建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-03 11:22:41

我不是专家,但我的理解是:

视频以压缩格式存储。在需要显示帧之前,它们不会被解压缩。这发生在播放缓冲区中,实时地,因为视频正在显示。

回放缓冲器是可供显示的解压缩帧的缓冲器。如果它是满的,这并不意味着完整的视频已经准备好播放。回放缓冲区只有几秒钟长。这意味着播放缓冲区保存的几秒钟的回放时间是满的。

如果它是空的,就意味着没有可以播放的视频,所以播放要么结束,要么冻结并显示一条“缓冲”消息,同时加载更多的内容。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37612213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档