【发布时间】:2015-01-11 19:06:51
【问题描述】:
This 是一篇关于双阈值缓冲的有用文章。它解释说,您可以在NetStream 上侦听NetStream.Buffer.Full 和NetStream.Buffer.Empty 事件,并相应地调整NetStream 的缓冲时间,以充分利用可用带宽并获得快速的视频启动时间。不过我遇到了一个问题。当我在 NetStream 中寻找视频的缓冲部分时,缓冲区再次为空,但我没有收到 NetStream.Buffer.Empty 事件。 NetStream 的缓冲时间仍然设置为我的扩展缓冲时间,所以我失去了快速启动时间的优势。您如何实施此策略以使其在这种情况下正常工作?如何判断缓冲区又是空的,还是您已经找到了可用的缓冲区?
编辑:我可能应该提到我正在使用缓冲区内搜索(Smart Seeking)。我认为如果我不是,这不会是一个问题,因为在没有启用此功能的情况下,flash 在每次搜索时都会刷新缓冲区。
【问题讨论】:
-
那篇文章对于缓冲长流非常有帮助,是的,但我认为您可以使用其中的一些逻辑。搜索时缓冲区空的低缓冲区阈值应有助于继续播放。不过,Seek 确实改变了很多事情。但我不得不问,寻求真的是客户需要的吗?如果它是用户发起的寻求动作,那么它不会要求太多的动作来缓冲播放。这应该是可接受的用户体验。如果他们想寻找,他们应该愿意等到他们的内容准备好。
标签: actionscript-3 flash buffering netstream