我看到了AVPlayerItem的两个特性
@property (nonatomic, readonly, getter=isPlaybackBufferFull) BOOL playbackBufferFull;
@property (nonatomic, readonly, getter=isPlaybackBufferEmpty) BOOL playbackBufferEmpty;现在,以下是苹果文档中的内容:
playbackBufferFull:
此属性报告用于回放的数据缓冲区已达到容量。尽管回放缓冲器达到了容量,但可能不存在足够的统计数据来支持
playbackLikelyToKeepUp对YES的预测。
playbackBufferEmpty:
它表示回放已经消耗了所有缓冲媒体,并且回放将停止或结束。
从这些发言中,我的理解是:
playbackBufferFull:
所有的数据都被载入播放了。例如,我正在播放一个来自URL的5分钟长的视频。当所有的内容,直到最后已经加载,这些将是真实的。
playbackBufferEmpty:
到目前为止,实际的回放已经消耗了加载的所有缓冲区。例如,直到2.3分钟的数据已经加载,回放也已经达到那个时候,没有更多的内容提供。(我认为现在是开始我们的旋转木马的时候了,一个指标)
我有误解什么吗?如果是,请纠正我..。
欢迎任何深度知识或建议!
发布于 2016-06-03 11:22:41
我不是专家,但我的理解是:
视频以压缩格式存储。在需要显示帧之前,它们不会被解压缩。这发生在播放缓冲区中,实时地,因为视频正在显示。
回放缓冲器是可供显示的解压缩帧的缓冲器。如果它是满的,这并不意味着完整的视频已经准备好播放。回放缓冲区只有几秒钟长。这意味着播放缓冲区保存的几秒钟的回放时间是满的。
如果它是空的,就意味着没有可以播放的视频,所以播放要么结束,要么冻结并显示一条“缓冲”消息,同时加载更多的内容。
https://stackoverflow.com/questions/37612213
复制相似问题