Flash AS3代码制作简单视频播放器
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
[知识点] 1、构建视频NetConnection和NetStream; 2、音量控制用soundTransform(这个让我耗了一些精力,在AS2中可以setvolume,在AS3就不行了); 3、暂停用pause(),恢复回放暂停的视频流用resume(); 4、接收视频信息用onMetaData(如视频总时间data.duration); 5、侦听视频流的开始和结束用NetStatusEvent.NET_STATUS,info.code如果为"NetStream.Play.Stop",则可重播或播放新的视频; //以上只是一些最基本的视频知识,希望对初学AS3的人能有所帮助,这将是我最大的欣慰。 [效果] [步骤] 第一步:创建播放按钮、暂停按钮,实例名分别为play_btn、pause_btn; 第二步:画两个长矩形,分别转为影片>剪辑,实例名分别为jzjd_mc、bfjd_mc,作为加载进度条与播放进度条; 第三步:在库中右键选择“新建视频”,在弹出的对话框中点选“视频(受ActionScript控制)”,拖到场景中,实例名为vid; 第四步:在场景中拉两个动态文本,实例名分别为bftxt(显示播放时间)、zcdtxt(显示总时间); 第五步:画一个长矩形,转为影片剪辑,作为音量条,实例名为ylt_mc; 第六步:画一个小圆,转为影片剪辑,作为音量滑块,实例名为ylhk_mc; 第七步:在帧上写如下代码: [代码] //创建一个NetConnection对象 varnc:NetConnection=newNetConnection(); /*如果连接到没有使用服务器的FLV文件,则通过向connect()方法传递值 null,来播放流式FLV文件*/ nc.connect(null); /*创建一个NetStream对象(该对象将NetConnection对象作为参数)并 指定要加载的FLV文件*/ varns:NetStream=newNetStream(nc); ns.play("http://www.helpexamples.com/Flash/video/cuepoints.flv"); /*使用Video类的attachNetStream()方法附加以前创建的NetStream 对象(视频实例名为vid)*/ vid.attachNetStream(ns); //音量初始值 varyl:Number=0.5; varnsyl:SoundTransform=newSoundTransform(); //nsyl.volume=yl //播放进度与加载进度影片缩放为0 bfjd_mc.scaleX=jzjd_mc.scaleX=0; //申明变量播放与下载百分比以及总时间(秒)的初始值为0 varbfbfb:int=0; varxzbfb:int=0; var_duration:Number=0; //指定在其上调用回调方法的对象 var_client:Object=newObject(); _client.onMetaData=onMetaData; ns.client=_client; //按钮可见性与添加侦听事件 play_btn.visible=false; pause_btn.visible=true; pause_btn.addEventListener(MouseEvent.CLICK,zt); play_btn.addEventListener(MouseEvent.CLICK,bf); //忽略错误 ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHandler); functionasyncErrorHandler(event:AsyncErrorEvent):void{ } //暂停 functionzt(event:MouseEvent):void{ play_btn.visible=true; pause_btn.visible=false; //视频暂停 ns.pause(); } //播放 functionbf(event:MouseEvent):void{ play_btn.visible=false; pause_btn.visible=true; //恢复回放暂停的视频流 ns.resume(); addEventListener(Event.ENTER_FRAME,gx); } //接收在正播放的FLV文件中嵌入的描述性信息时调度 functiononMetaData(data:Object):void{ _duration=data.duration; } //申明变量播放信号 varbfxh:String; //侦听视频流的开始和末尾 ns.addEventListener(NetStatusEvent.NET_STATUS,statusHandler); functionstatusHandler(event:NetStatusEvent):void{ bfxh=event.info.code; } //不断更新进度与文本的显示 addEventListener(Event.ENTER_FRAME,gx); functiongx(event:Event):void{ if(ns.bytesLoaded>0){ //加载进度 xzbfb |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Flash AS入门教程:影片剪辑第8节实现补间动画下一篇: FLASH AS3全屏类
关于Flash AS3代码制作简单视频播放器的所有评论