flash播放flv时通常要设置一个缓冲值以保证播放持续,但是当网络状况变化较大时效果仍不理想,以下方式提高缓冲效率:
1.设置两种不同的缓冲大小,在播放开始时设较小的缓冲,以使用用户等待时间不至于太长,在缓冲区満后再设置较大的缓冲区,之后根据缓冲数据的情况动态改变缓冲区。
代码如下:
// Init
...
startBL=2; mainBL=15;
in_ns.setBufferTime(startBL);
in_ns.onStatus = Status;
function Status(infoObject:Object) {
if (infoObject["code"]=="NetStream.Buffer.Full"){in_ns.setBufferTime(mainBL);};
if (infoObject["code"]=="NetStream.Buffer.Empty"){in_ns.setBufferTime(startBL);};
}
效果: