rtmp一些状态信息详解-as连接FMS服务器报错状态汇总~~
原地址:http://help.adobe.com/zh_CN/AIR/1.5/jslr/flash/events/NetStatusEvent.html
下表说明了 code
和 level
属性可能的字符串值。
代码属性 | 级别属性 | 意义 |
---|---|---|
"NetStream.Buffer.Empty"
|
"status"
|
数据的接收速度不足以填充缓冲区。数据流将在缓冲区重新填充前中断,此时将发送 NetStream.Buffer.Full 消息,并且该流将重新开始播放。
|
"NetStream.Buffer.Full"
|
"status"
|
缓冲区已满并且流将开始播放。 |
"NetStream.Buffer.Flush"
|
"status"
|
数据已完成流式处理,剩余的缓冲区将被清空。 |
"NetStream.Failed"
|
"error" | 仅限 Flash Media Server。发生了错误,在其它事件代码中没有列出此错误的原因。 |
"NetStream.Publish.Start"
|
"status"
|
已经成功发布。 |
"NetStream.Publish.BadName"
|
"error"
|
试图发布已经被他人发布的流。 |
"NetStream.Publish.Idle"
|
"status"
|
流发布者空闲而没有在传输数据。 |
"NetStream.Unpublish.Success"
|
"status"
|
已成功执行取消发布操作。 |
"NetStream.Play.Start"
|
"status"
|
播放已开始。 |
"NetStream.Play.Stop"
|
"status"
|
播放已结束。 |
"NetStream.Play.Failed"
|
"error"
|
出于此表中列出的原因之外的某一原因(例如订阅者没有读取权限),播放发生了错误。 |
"NetStream.Play.StreamNotFound"
|
"error"
|
无法找到传递给 play() 方法的 FLV。
|
"NetStream.Play.Reset"
|
"status"
|
由播放列表重置导致。 |
"NetStream.Play.PublishNotify"
|
"status"
|
到流的初始发布被发送到所有的订阅者。 |
"NetStream.Play.UnpublishNotify"
|
"status"
|
从流取消的发布被发送到所有的订阅者。 |
"NetStream.Play.InsufficientBW"
|
"warning" | 仅限 Flash Media Server。客户端没有足够的带宽,无法以正常速度播放数据。 |
“NetStream.Play.FileStructureInvalid”
|
"error"
|
应用程序检测到无效的文件结构并且将不会尝试播放这种类型的文件。用于 AIR 和 Flash Player 9.0.115.0 及更高版本。 |
“NetStream.Play.NoSupportedTrackFound”
|
"error"
|
应用程序未检测到任何支持的音轨(视频、音频或数据)并且将不会尝试播放该文件。用于 AIR 和 Flash Player 9.0.115.0 及更高版本。 |
"NetStream.Play.Transition"
|
"status"
|
仅限 Flash Media Server。由位速率流切换而导致的到其它位置的流过渡。此代码指示用于启动流切换的 NetStream.play2() 调用的成功状态事件。如果切换失败,则服务器将改为发送 NetStream.Play.Failed 事件。用于 Flash Player 10 及更高版本。
|
"NetStream.Play.Transition"
|
"status"
|
仅限 Flash Media Server 3.5 和更高版本。服务器收到因位速率流切换而需要过渡到其他流的命令。此代码指示用于启动流切换的 NetStream.play2() 调用的成功状态事件。如果切换失败,则服务器将改为发送 NetStream.Play.Failed 事件。当发生流切换时,将调度带有代码“NetStream.Play.TransitionComplete”的 onPlayStatus 事件。用于 Flash Player 10 及更高版本。
|
"NetStream.Pause.Notify"
|
"status"
|
流已暂停。 |
"NetStream.Unpause.Notify"
|
"status"
|
流已恢复。 |
"NetStream.Record.Start"
|
"status"
|
录制已开始。 |
"NetStream.Record.NoAccess"
|
"error"
|
试图录制仍处于播放状态的流或客户端没有访问权限的流。 |
"NetStream.Record.Stop"
|
"status"
|
录制已停止。 |
"NetStream.Record.Failed"
|
"error"
|
尝试录制流失败。 |
"NetStream.Seek.Failed"
|
"error"
|
搜索失败,如果流处于不可搜索状态,则会发生搜索失败。 |
"NetStream.Seek.InvalidTime"
|
"error"
|
对于使用渐进式下载方式下载的视频,用户已尝试跳过到目前为止已下载的视频数据的结尾或在整个文件已下载后跳过视频的结尾进行搜寻或播放。message.details 属性包含一个时间代码,该代码指出用户可以搜寻的最后一个有效位置。
|
"NetStream.Seek.Notify"
|
"status"
|
搜寻操作完成。 |
"NetConnection.Call.BadVersion"
|
"error"
|
以不能识别的格式编码的数据包。 |
"NetConnection.Call.Failed"
|
"error"
|
NetConnection.call 方法无法调用服务器端的方法或命令。
|
"NetConnection.Call.Prohibited"
|
"error"
|
Action Message Format (AMF) 操作因安全原因而被阻止。AMF URL 与文件(其中包含调用 NetConnection.call() 方法的代码)不在同一个域中,或者 AMF 服务器没有信任文件(其中包含调用 NetConnection.call() 方法的代码)所在域的策略文件。
|
"NetConnection.Connect.Closed"
|
"status"
|
成功关闭连接。 |
"NetConnection.Connect.Failed"
|
"error"
|
连接尝试失败。 |
"NetConnection.Connect.Success"
|
"status"
|
连接尝试成功。 |
"NetConnection.Connect.Rejected"
|
"error"
|
连接尝试没有访问应用程序的权限。 |
"NetStream.Connect.Closed"
|
"status"
|
成功关闭 P2P 连接。info.stream 属性指示已关闭的流。
|
"NetStream.Connect.Failed"
|
"error"
|
P2P 连接尝试失败。info.stream 属性指示已失败的流。
|
"NetStream.Connect.Success"
|
"status"
|
P2P 连接尝试成功。info.stream 属性指示已成功的流。
|
"NetStream.Connect.Rejected"
|
"error"
|
P2P 连接尝试没有访问另一个对等方的权限。info.stream 属性指示被拒绝的流。
|
"NetConnection.Connect.AppShutdown"
|
"error"
|
正在关闭指定的应用程序。 |
"NetConnection.Connect.InvalidApp"
|
"error"
|
连接时指定的应用程序名无效。 |
"SharedObject.Flush.Success"
|
"status"
|
“待定”状态已解析并且 SharedObject.flush() 调用成功。
|
"SharedObject.Flush.Failed"
|
"error"
|
“待定”状态已解析,但 SharedObject.flush() 失败。
|
"SharedObject.BadPersistence"
|
"error"
|
使用永久性标志对共享对象进行了请求,但请求无法被批准,因为已经使用其它标记创建了该对象。 |
"SharedObject.UriMismatch"
|
"error"
|
试图连接到拥有与共享对象不同的 URI (URL) 的 NetConnection 对象。 |
如果您不断地看到有关缓冲区的错误,则请尝试使用 NetStream.bufferTime
属性更改缓冲区。
原地址:http://help.adobe.com/zh_CN/AIR/1.5/jslr/flash/events/NetStatusEvent.html
--------------------------------------------------------------------------------------------------------------
===============================================================
as连接FMS服务器报错状态汇总:
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+"秒");//隐藏缓冲动画 } };
http://blog.csdn.net/swort_177/article/details/5387824
rtmp一些状态信息详解-as连接FMS服务器报错状态汇总~~相关推荐
- windows连接远程服务器报错‘SSH‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案
windows连接远程服务器报错'SSH' 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案 参考文章: (1)windows连接远程服务器报错'SSH' 不是内部或外部命令,也不是可运 ...
- mysql报错乱码_连接mysql服务器报错时,出现乱码
页头用了 header('content-type:text/html;charset=utf-8'); try { $this->dbo=new PDO($dsn,$dbuser,$dbpas ...
- 连接mysql报错有乱码_连接mysql服务器报错时,出现乱码
页头用了 header('content-type:text/html;charset=utf-8'); try { $this->dbo=new PDO($dsn,$dbuser,$dbpas ...
- ssh连接远程服务器报错:ssh_exchange_identification: read: Connection reset by peer
报错如下: 解决方案如下: vi /etc/hosts.allow 打开后文件内容如下: 我这里在文件最后添加一行内容: sshd:ALL 添加后文件内容如下图: 我添加的这行内容表示允许所有的机器通 ...
- 【图文详解】SpringBoot项目启动报错:The bean ‘xxxServiceImpl‘ could not be injected as a ‘xxxServiceImpl‘ ...
问题描述: 项目启动报错:The bean 'xxxServiceImpl' could not be injected as a 'cn.xxxx.service.xxxServiceImpl' b ...
- python3中urlopen_详解python3 urllib中urlopen报错的解决方法
这篇文章主要介绍了关于解决python3 urllib中urlopen报错问题的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧. 前言 最近更新了Python ...
- 连接nacos服务器报错,显示/nacos/v1/ns/instance after all servers([localhost:8848])
前置条件: common类引入以下依赖: <!-- nacos start 注册发现--><dependency><groupId>com.alibaba.clou ...
- HTTP协议的头信息详解
HTTP协议的头信息详解 http://blog.csdn.net/guoguo1980/archive/2008/07/14/2649658.aspx HTTP协议的头信息详解 HTTP(Hyper ...
- python爬虫常见报错_Python爬虫常见HTTP响应状态码详解
在使用Python进行网页数据抓取时,经常会遇到无数据返还或错误等异常,这个时候可以通过status_code命令来查看获得http请求返回的状态码,以便查找原因并制定相应的解决方案.import r ...
最新文章
- 如何利用azMan (Authorization Manager) 实现 role-based的安全验证机制
- qlabel 边加载边更新_普及一下什么是超窄边液晶拼接屏
- 常用注解[spring 的 java 配置] ||springboot 热部署
- Openswan企业实战之ipsec ***加速ERP系统
- P1005 采药(Tyvj)
- 一篇好文之Android数据库 GreenDao的完全解析
- 零基础在学习Java时如何才能打好基础呢
- PHP的静态方法与普通方法
- 匈牙利算法-指派问题、二分图问题等
- mysql数据库优化语句_mysql数据库优化语句
- 重大改革!Python将被加入高考科目!
- Android5.x(NTP和NITZ)时间同步
- iOS开发UI篇—控制器的创建
- .Net 3.0 项目与.Net4.0项目之间互相引用的问题.
- UI自动化测试之iframe切换
- 删除的PSD文件在哪可以恢复?一定要看看
- xshell中svn命令整理
- 【第一期】电商分布式前沿springboot接口服务之配置-Array-专题视频课程
- emc整改措施及案例_EMC整改案例分享
- CentOS上如何顺利地安装MySQL?
热门文章
- python常见几种设计模式
- 网管日记:故障网络交换机快速替换方法
- python 键盘输入数字_python实现键盘输入的实操方法
- 设置GPU及显存大小
- 南卫理公会大学 计算机排名,南卫理公会大学美国大学排名及专业排名汇总(USNEWS美国大学排名版)...
- 【 C++ 】AVL树
- DELL R730xd 安装PCIE SSD 后风扇转速增高的解决方法手记
- 记2014“蓝桥杯全国软件大赛决赛北京之行
- 项目管理-人力资源管理-人力资源管理计划-工具-RACI矩阵-Responsible与Accountable的区别
- 【机器学习】Rasa NLU以及Rasa Core概念和语法简介(超详细必看)