|
 |
源码下载 |
|
|
|
中国服装网FLV流媒体,客户端以及服务端全部源程序开源发布提供下载 |
|
|
| 文件作者:moonsun |
| 软件大小:24KB |
| 文件来源:经典 |
| 软件语言:简体中文 |
| 授权方式:共享软件 |
| 运行环境:Win2003,WinXP,Win2000,Win9X |
| 更新时间:2008-05-01 |
|
|
| http://www.5uflash.com [收藏] |
| ∷源文件简介∷ |
|
| 中国服装网FLV流媒体,客户端以及服务端全部源程序开源发布提供下载 |
|
|
已经把客户端的版权信息去掉了要想加版权的自己做个缓冲动画加个LOGO进去就行了。
以下为代码说明:
nc = new NetConnection(); nc.connect("rtmp://"+_root.host+"/"+_root.dir); //建立一个新数据流并连接到服务器 //---------------------------显示连接状态---------------------------// nc.onStatus = function(info) { if (info.code == "NetConnection.Call.Failed") { trace("连接状态: "+info.code); trace("NetConnection.call方法调用服务器端的方法或命令失败"); } else if (info.code == "NetConnection.Connect.AppShutdown") { trace("连接状态: "+info.code); trace("服务器端应用程序已经关闭(由于资源耗用过大等原因)或者服务器已经关闭"); } else if (info.code == "NetConnection.Connect.Closed") { trace("连接状态: "+info.code); trace("连接中断"); } else if (info.code == "NetConnection.Connect.Failed") { trace("连接状态: "+info.code); trace("连接失败"); } else if (info.code == "NetConnection.Connect.InvalidApp") { trace("连接状态: "+info.code); trace("指定的应用程序名称没有找到"); } else if (info.code == "NetConnection.Connect.Rejected") { trace("连接状态: "+info.code); trace("连接被拒绝"); } else if (info.code == "NetConnection.Connect.Success") { trace("连接状态: "+info.code); trace("连接成功"); } };
//---------------------------与服务器通讯---------------------------// var returnTimeObj = new Object(); var serverTim:Number; returnTimeObj.onResult = function(tim):Void { trace("请求的结果是影片时长:"+tim+" 秒"); serverTim = tim; //将函数内部变量赋值给局部变量以便以后引用 //如果返回时间为0表示此数据流为直播流 }; //client向server提交文件请求 nc.call("getStreamLength",returnTimeObj,_root.url); trace("客户端主正在向服务器提交对"+_root.url+".flv文件的请求");
//server呼叫client端 nc.msgFromServer = function(msg) { trace("服务端发来信息:"+msg); };
//---------------------------播放器部分---------------------------//
in_ns = new NetStream(nc); _parent.mv_video.video_container.attachVideo(in_ns); //videoArea.attachAudio(in_ns); in_ns.setBufferTime(5);//定义缓冲时间(单位:秒) in_ns.play(_root.url);//开始播放
//---------------------------sink color---------------------------//
var btnDefaultColor:String = "0x6D6D6D"; var btnActColor:String = "0x4EB4FF"; var barDefaultColor:String = "0xFFFFFF"; var barActColor:String = "0x4EB4FF"; //这里定义了按扭的颜色可自行修改
//---------------------------pause---------------------------//
btn_pauseColor = new Color(btn_pause.btn_light01); btn_pause.onRollOver = function() { btn_pauseColor.setRGB(btnActColor); }; btn_pause.onRollOut = function() { btn_pauseColor.setRGB(btnDefaultColor); }; btn_pause.onRelease = function() { btn_pauseColor.setRGB(btnDefaultColor); in_ns.pause(); }; btn_pause.onReleaseOutside = btn_pause.onRelease;
//---------------------------stop---------------------------// btn_stopColor = new Color(btn_stop.btn_light01); btn_stop.onRollOver = function() { btn_stopColor.setRGB(btnActColor); }; btn_stop.onRollOut = function() { btn_stopColor.setRGB(btnDefaultColor); }; btn_stop.onRelease = function() { btn_stopColor.setRGB(btnDefaultColor); in_ns.seek(0); in_ns.pause(true);//跳转起始时间并暂停 }; btn_stop.onReleaseOutside = btn_stop.onRelease;
//---------------------------repetition---------------------------//
var switchRepetition:Boolean = true; //定义为默认情况下循环播放 btn_repetitionColor = new Color(btn_repetition.btn_light01); btn_repetition.onRollOver = function() { btn_repetitionColor.setRGB(btnActColor); }; btn_repetition.onRollOut = function() { btn_repetitionColor.setRGB(btnDefaultColor); }; btn_repetition.onRelease = function() { btn_repetitionColor.setRGB(btnDefaultColor); if (switchRepetition == true) { switchRepetition = false; btn_repetition.shape_repetition.gotoAndStop(btn_repetition.shape_repetition._totalframes); } else { switchRepetition = true; btn_repetition.shape_repetition.gotoAndPlay(btn_repetition.shape_repetition._currentframe+1); } };
btn_repetition.onReleaseOutside = btn_repetition.onRelease; in_ns.onPlayStatus = function(info) { if (info.code == "NetStream.Play.Complete") { //检查影片是否播放完毕 if (switchRepetition == true) { in_ns.seek(0); in_ns.play();//如果需要循环播放便跳转起始时间并播放 } else { in_ns.seek(0); in_ns.pause(true);//否则跳转起始时间并暂停(注意默认情况下是循环的) } } };
//---------------------------fullscreen---------------------------//
btn_fullscreenColor = new Color(btn_fullscreen.btn_light01); btn_fullscreen.onRollOver = function() { btn_fullscreenColor.setRGB(btnActColor); }; btn_fullscreen.onRollOut = function() { btn_fullscreenColor.setRGB(btnDefaultColor); }; btn_fullscreen.onRelease = function() { btn_fullscreenColor.setRGB(btnDefaultColor); //启动全屏(这里我没写全屏函数到底是用JS方法还是用FLASH内部函数办法根据需要你们自己看着办吧) }; btn_fullscreen.onReleaseOutside = btn_fullscreen.onRelease;
//---------------------------help---------------------------//
btn_helpColor = new Color(btn_help.btn_light01); btn_help.onRollOver = function() { btn_helpColor.setRGB(btnActColor); }; btn_help.onRollOut = function() { btn_helpColor.setRGB(btnDefaultColor); }; btn_help.onRelease = function() { btn_helpColor.setRGB(btnDefaultColor); //弹出播放帮助页(要弹什么版权页或者说明页你们自己看着办或者你也可以播放你自己做的MC) }; btn_help.onReleaseOutside = btn_help.onRelease;
//---------------------------容错判断---------------------------//
in_ns.onStatus = function(info) { if (info.code == "NetStream.Buffer.Full") { trace("播放状态: "+info.code); trace("缓冲区已满"); btn_pause.shape_play._visible = true; btn_pause.shape_pause._visible = false; } else if (info.code == "NetStream.Buffer.Empty") { trace("播放状态: "+info.code); trace("数据缓冲区为空"); btn_pause.shape_play._visible = false; btn_pause.shape_pause._visible = true; } else if (info.code == "NetStream.Failed") { trace("播放状态: "+info.code); trace("传输中有错误发生"); //无需反馈 } else if (info.code == "NetStream.Pause.Notify") { trace("播放状态: "+info.code); trace("播放暂停"); btn_pause.shape_play._visible = false; btn_pause.shape_pause._visible = true; } else if (info.code == "NetStream.Play.Failed") { trace("播放状态: "+info.code); trace("播放出错"); //严重错误 } else if (info.code == "NetStream.Play.PublishNotify") { trace("播放状态: "+info.code); trace("发布开始,信息已经发送到所有订阅者"); //无需反馈 } else if (info.code == "NetStream.Play.Reset") { trace("播放状态: "+info.code); trace("播放列表重置"); //无需反馈 } else if (info.code == "NetStream.Play.Start") { trace("播放状态: "+info.code); trace("播放开始"); btn_pause.shape_play._visible = false; btn_pause.shape_pause._visible = true; } else if (info.code == "NetStream.Play.Stop") { trace("播放状态: "+info.code); trace("播放停止"); //无需反馈 } else if (info.code == "NetStream.Play.StreamNotFound") { trace("播放状态: "+info.code); trace("播放的实时流或文件不存在"); //严重错误 } else if (info.code == "NetStream.Play.UnpublishNotify") { trace("播放状态: "+info.code); trace("发布停止,信息已经发送到所有订阅者"); //无需反馈 } else if (info.code == "NetStream.Publish.BadName") { trace("播放状态: "+info.code); trace("发布的数据流已经被发布"); //无需反馈 } else if (info.code == "NetStream.Publish.Idle") { trace("播放状态: "+info.code); trace("发布者闲置过长"); //严重错误 } else if (info.code == "NetStream.Publish.Start") { trace("播放状态: "+info.code); trace("发布开始"); btn_pause.shape_play._visible = false; btn_pause.shape_pause._visible = true; } else if (info.code == "NetStream.Record.Failed") { trace("播放状态: "+info.code); trace("录制文件出错"); //严重错误 } else if (info.code == "NetStream.Record.NoAccess") { trace("播放状态: "+info.code); trace("没有足够的文件访问权限"); //严重错误 } else if (info.code == "NetStream.Record.Start") { trace("播放状态: "+info.code); trace("文件录制开始"); //无需反馈 } else if (info.code == "NetStream.Record.Stop") { trace("播放状态: "+info.code); trace("录制暂停"); //无需反馈 } else if (info.code == "NetStream.Seek.Failed") { trace("播放状态: "+info.code); trace("数据流定位出错"); //严重错误 } else if (info.code == "NetStream.Seek.Notify") { trace("播放状态: "+info.code); trace("数据搜索定位成功"); btn_pause.shape_play._visible = false; btn_pause.shape_pause._visible = true; } else if (info.code == "NetStream.Unpause.Notify") { trace("播放状态: "+info.code); trace("恢复播放"); btn_pause.shape_play._visible = false; btn_pause.shape_pause._visible = true; } else if (info.code == "NetStream.Unpublish.Success") { trace("播放状态: "+info.code); trace("停止发布"); //无需反馈 } };
//---------------------------time progress bar---------------------------//
time_barColor = new Color(btn_time.time_bar); var timeProgressAct:Boolean = false; var inTim:Number; var barLeft = btn_time.time_progress._x; var barRight = btn_time.time_progress._x+btn_time.time_progress._width-btn_time.time_bar._width; var barBottom = barTop=btn_time.time_bar._y; //确定slider可移动的左右及上下边界
btn_time.time_bar.onRollOver = function() { time_barColor.setRGB(barActColor); };
btn_time.time_bar.onRollOut = function() { time_barColor.setRGB(barDefaultColor); };
btn_time.time_bar.onPress = function() { time_barColor.setRGB(barActColor); this.startDrag(false,barLeft,barTop,barRight,barBottom); timeProgressAct = true; };
btn_time.time_bar.onRelease = function() { time_barColor.setRGB(barDefaultColor); this.stopDrag(); inTim = btn_time.time_bar._x*serverTim/(barRight-barLeft); trace(serverTim); in_ns.seek(inTim); in_ns.play();//计算并且跳转到和滑块位置对应的播放时间 timeProgressAct = false; //trace("目前移动到"+btn_time.time_bar._x+"位置"); //trace("影片时长"+tim); //trace("inTime="+inTim); //trace("in_ns.time="+in_ns.time); };
btn_time.time_bar.onReleaseOutside = btn_time.time_bar.onRelease;
//---------------------------time container---------------------------//
function convertTime(sec, role) { //定义格式化时间用的函数并且根据role的需要输出不同的数据 var sec:Number; var role:String; sec = Math.floor(sec); var day = (Math.floor(sec/3600/24)<10) ? "0"+Math.floor(sec/3600/24) : Math.floor(sec/3600/24); var hour = (Math.floor(sec%(3600*24)/3600)<10) ? "0"+Math.floor(sec%(3600*24)/3600) : Math.floor(sec%(3600*24)/3600); var minute = (Math.floor(sec%3600/60)<10) ? "0"+Math.floor(sec%3600/60) : Math.floor(sec%3600/60); var second = (sec%60<10) ? "0"+sec%60 : sec%60; if ((day>0) || (hour>0) || (minute>0) || (second>0)) { return hour+":"+minute+":"+second; } else if (role != "server") { return "00:00:00"; } else if (role="server") { return "Live"; } }
onEnterFrame = function () { btn_time.time_container.time_text = convertTime(in_ns.time, "client")+"\x20"+"/"+"\x20"+convertTime(serverTim, "server"); if (timeProgressAct == false) { btn_time.time_bar._x = in_ns.time/serverTim*(barRight-barLeft); } if ((in_ns.bufferLength>0) && (in_ns.bufferTime>=in_ns.bufferLength) && (btn_pause.shape_pause._visible == true)) { //trace("已经缓冲"+in_ns.bufferLength+"秒"); //播放缓冲动画(自己搞个带LOGO的版权动画出来吧我已经把我们公司的去掉了) } else { //trace("已经缓冲"+in_ns.bufferLength+"秒"); //隐藏缓冲动画 } }; |
| ∷下载地址∷ |
| 进入下载地址列表
|
|
|
| ∷相关源文件∷ |
|
·用Matrix与BitMapData类构造flas
·MidAs3开源项目
·中国服装网FLV流媒体,客户端以及
·flash与php投票系统分享下载
·Air mp3播放器提供源码下砸
|
| ∷发表评论∷ |
|
| ∷最新评论∷ |
|
|
| ∷下载说明∷ |
|
| ☉推荐使用网际快车下载本站软件,使用 WinRAR v3.10 以上版本解压本站软件。 |
| ☉如果这个软件总是不能下载的请点击报告错误,谢谢合作!! |
| ☉下载本站资源,如果服务器暂不能下载请过一段时间重试! |
| ☉如果遇到什么问题,请到本站论坛去咨寻,我们将在那里提供更多 、更好的资源! |
| ☉本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。 |
|
|
|
 |
源码分类 |
|
|
|
|
|
|