【发布时间】:2010-12-24 05:08:04
【问题描述】:
我今天的问题是关于 Flash AS3 视频缓冲。 (流式或渐进式)我希望能够检测到视频何时被缓冲,因此我可以显示某种动画,让用户知道再等一会儿。
目前我的视频将启动,在第 1 帧上保持 3-4 秒然后播放。有点让人觉得视频已暂停或中断:(
更新
感谢iandisme 我相信我现在正朝着正确的方向前进。 NetStatusEvent from livedocs。在我看来,要工作的关键状态是"NetStream.Buffer.Empty",所以我在其中添加了一些代码,看看这是否会触发我的动画或跟踪语句。还没有运气,但是当缓冲区已满时,它将触发我的代码:/ 也许我的视频总是介于 Buffer.Empty 和 Buffer.Full 之间,这就是为什么当我为 Buffer.Empty 测试用例时它不会触发任何代码?
当前代码
public function netStatusHandler(event:NetStatusEvent):void
{
// handles net status events
switch (event.info.code)
{
case "NetStream.Buffer.Empty":
trace("☼☼☼ Buffering!"); //<- never traces
addChild(bufferLoop); //<- doesn't execute
break;
case "NetStream.Buffer.Full":
trace("☼☼☼ FULL!"); //<- trace works here
removeChild(bufferLoop); //<- so does any other code
break;
case "NetStream.Buffer.Flush":
trace("☼☼☼ FLUSH!");
//Not sure if this is important
break
}
}
【问题讨论】:
标签: flash actionscript-3 video streaming buffering