我们的播放器总算有模有样了,不过还缺少样东西。大家在播放流媒体的时候,是不是常常会见到缓冲?没错,就是缓冲。还等什么,赶快动手。
首先,我们在层video和controlBar之间新建一层并命名为buffer,然后用矩形在舞台上绘制一个320*240的黑色矩形,将其和video的位置对齐,正好能挡着video。然后我们按F8将其转换给影片剪辑,并命名其实例名为buffer_mc。双击进入编辑状态,新建一层名为text,用文字工具输入文字:视频缓冲中。并将其转换为元件创建一个Alpha渐变的动画,如图1-11:

图1-11
返回场景,选择层action,输入一下代码:
//设置ns缓冲时间为15秒
ns.setBufferTime(15);
//创建ns的onStatus处理函数,详细请查看帮助文档
ns.onStatus = function(info:Object){
//当缓冲为满的时候,buffer_mc隐藏
if(info.code == "NetStream.Buffer.Full"){
buffer_mc._visible = false;
}
//当缓冲空的时候,buffer_mc显示
if(info.code == "NetStream.Buffer.Empty"){
buffer_mc._visible = true;
}
//当视频播放结束时,重新播放
if(info.code == "NetStream.Play.Stop"){
ns.seek(0);;
}
}
OK,导出测试一下。