"playbackBufferFull" 和 "playbackBufferEmpty" 属性有什么区别?
What is the difference between "playbackBufferFull" and "playbackBufferEmpty" properties?
我看过 AVPlayerItem
的 2 个属性:
@property (nonatomic, readonly, getter=isPlaybackBufferFull) BOOL playbackBufferFull;
@property (nonatomic, readonly, getter=isPlaybackBufferEmpty) BOOL playbackBufferEmpty;
现在,Apple 文档是这样说的:
playbackBufferFull:
This property reports that the data buffer used for playback has reach
capacity. Despite the playback buffer reaching capacity there might
not exist sufficient statistical data to support a
playbackLikelyToKeepUp
prediction of YES
.
playbackBufferEmpty:
It indicates that playback has consumed all buffered media and that
playback will stall or end.
从这些陈述中,我的理解是:
playbackBufferFull:
全部数据已加载播放。例如,我正在播放来自 URL 的一段 5 分钟长的视频。当所有的内容都加载到最后时,这些将是真实的。
playbackBufferEmpty:
实际播放已经耗尽了到现在加载的所有缓冲区。例如,数据加载到2.3分钟,播放也到此为止,没有更多内容呈现。 (我觉得是时候开始我们的旋转木马了,一个指标)
我是不是误会了什么?如果是,请指正..
欢迎任何深度知识或建议!
我不是这方面的专家,但这是我的理解:
视频以压缩格式存储。在需要显示帧之前,它们不会被解压缩。当视频正在显示时,这种情况会实时发生在播放缓冲区中。
播放缓冲区是准备显示的解压缩帧的缓冲区。
如果它已满,并不意味着完整的视频已准备好播放。播放缓冲区只有几秒钟长。这意味着播放缓冲区保持的几秒钟播放已满。
如果它为空,则表示没有视频可以播放,因此播放要么结束,要么在加载更多内容时冻结并显示 "buffering" 消息。
我看过 AVPlayerItem
的 2 个属性:
@property (nonatomic, readonly, getter=isPlaybackBufferFull) BOOL playbackBufferFull;
@property (nonatomic, readonly, getter=isPlaybackBufferEmpty) BOOL playbackBufferEmpty;
现在,Apple 文档是这样说的:
playbackBufferFull:
This property reports that the data buffer used for playback has reach capacity. Despite the playback buffer reaching capacity there might not exist sufficient statistical data to support a
playbackLikelyToKeepUp
prediction ofYES
.
playbackBufferEmpty:
It indicates that playback has consumed all buffered media and that playback will stall or end.
从这些陈述中,我的理解是:
playbackBufferFull:
全部数据已加载播放。例如,我正在播放来自 URL 的一段 5 分钟长的视频。当所有的内容都加载到最后时,这些将是真实的。
playbackBufferEmpty:
实际播放已经耗尽了到现在加载的所有缓冲区。例如,数据加载到2.3分钟,播放也到此为止,没有更多内容呈现。 (我觉得是时候开始我们的旋转木马了,一个指标)
我是不是误会了什么?如果是,请指正..
欢迎任何深度知识或建议!
我不是这方面的专家,但这是我的理解:
视频以压缩格式存储。在需要显示帧之前,它们不会被解压缩。当视频正在显示时,这种情况会实时发生在播放缓冲区中。
播放缓冲区是准备显示的解压缩帧的缓冲区。 如果它已满,并不意味着完整的视频已准备好播放。播放缓冲区只有几秒钟长。这意味着播放缓冲区保持的几秒钟播放已满。
如果它为空,则表示没有视频可以播放,因此播放要么结束,要么在加载更多内容时冻结并显示 "buffering" 消息。