[AS3]FLVplayback处理多个flv视频无缝连播
有时候,需要按顺序播放多个FLV视频段落,一个接着一个播放,在一个FLV文件播放结束时,等待播放另一个FLV文件,此时如果处理不好就会停顿,以下以FLASH CS3(AS 3.0)说明一下。
假设舞台上有一个id是Flvp的FLVplayback对象,第一段代码:
- import fl.video.MetadataEvent;
- import fl.video.VideoEvent;
- this.Flvp.skin="key/SkinUnderPlayStopSeekMuteVol.swf";
- this.Flvp.volume=0.2;
- Flvp.width=320;
- Flvp.height=256;
- Flvp.x=132.3;
- Flvp.y=56;
现在需要播放视频第一段视频,代码:
this.Flvp.load("test1.flv");
第一段视频结束后播放第二段视频,代码:
- Flvp.addEventListener(fl.video.VideoEvent.COMPLETE,Flvpcomplete);
- function Flvpcomplete(eveObj:fl.video.VideoEvent):void {
- this.Flvp.load("test2.flv");
- this.Flvp.play();
- }
测试以上代码,发现两段视频撤换时有较长停顿,于是,想想可不可以在快播放完成前LOAD第二段FLV视频,就好像电影院放电影一样,当一台机播放,另一台机准备,快播放完时准备的机已经启动了,FLVplayback类提供了两个属性activeVideoPlayerIndex和visibleVideoPlayerIndex
activeVideoPlayerIndex处理LOAD方法,visibleVideoPlayerIndex处理play方法,修改代码,看看结果:
- import fl.video.MetadataEvent;
- import fl.video.VideoEvent;
- this.Flvp.skin="key/SkinUnderPlayStopSeekMuteVol.swf";
- this.Flvp.volume=0.2;
- Flvp.width=320;
- Flvp.height=256;
- Flvp.x=132.3;
- Flvp.y=56;
- this.Flvp.load("test1.flv");
- Flvp.addEventListener(fl.video.VideoEvent.COMPLETE,Flvpcomplete);
- Flvp.addEventListener(fl.video.MetadataEvent.CUE_POINT,Flvpvuepoint);
- //增加AS提示点,利用提示点事件触发LOAD第二段FLV视频
- var cuePt:Object = new Object();
- cuePt.time = 400;
- cuePt.name = "elapsed_time";
- cuePt.type = "actionscript";
- Flvp.addASCuePoint(cuePt);
- function Flvpcomplete(eveObj:fl.video.VideoEvent):void {
- this.Flvp.activeVideoPlayerIndex=1;
- this.Flvp.visibleVideoPlayerIndex=1;
- Flvp.play();
- this.Flvp.volume=0.21;
- }
- function Flvpvuepoint(eveObj:fl.video.MetadataEvent):void {
- trace(eveObj.info.name);
- this.Flvp.activeVideoPlayerIndex=1;
- this.Flvp.source="test2.flv";
- this.Flvp.activeVideoPlayerIndex=0;
- }
利用属性activeVideoPlayerIndex和visibleVideoPlayerIndex指定多个FLV播放器,就可实现FLV播放无缝衔接。
热门文章推荐
- [Red5]Red5之Flash流媒体服务器的安装与使用教程完整版(组图)
- [rtsp]设置海康配置DDNS远程访问的用户手册(组图说明)
- [live555]live555直播rtsp流
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [FFmpeg]FFmpeg实现监控摄像头的RTSP协议转RTMP协议直播
- [海康]海康网络摄像机激活功能图文教程
- [RED5]搭建RED5直播用流媒体服务(搭直播环境)