原地址: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();//定义缓冲时间(单位:秒)
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();
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+);
}
}; btn_repetition.onReleaseOutside = btn_repetition.onRelease;
in_ns.onPlayStatus = function(info) {
if (info.code == "NetStream.Play.Complete") {
//检查影片是否播放完毕
if (switchRepetition == true) {
in_ns.seek();
in_ns.play();//如果需要循环播放便跳转起始时间并播放
} else {
in_ns.seek();
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//)<) ? ""+Math.floor(sec//) : Math.floor(sec//);
var hour = (Math.floor(sec%(*)/)<) ? ""+Math.floor(sec%(*)/) : Math.floor(sec%(*)/);
var minute = (Math.floor(sec%/)<) ? ""+Math.floor(sec%/) : Math.floor(sec%/);
var second = (sec%<) ? ""+sec% : sec%;
if ((day>) || (hour>) || (minute>) || (second>)) {
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>) && (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服务器报错状态汇总~~的更多相关文章

  1. Asp.Net Core采用MailKit部署到Linux Docker连接邮件服务器报错

    前段时间看文章了解到发邮件的SmtpClient已经过时了,微软官方推荐大家用其他解决方案,例如MailKit. https://docs.microsoft.com/zh-cn/dotnet/api ...

  2. Pycharm报错连接linux服务器报错:Could not verify `ssh-rsa` host key with fingerprint

    忘记了截图,后来解决了就懒得再去重新制造错误了.大概记得是通过ssh连接linux时,报错 Could not verify `ssh-rsa` host key with fingerprint . ...

  3. windows连接远程服务器报错'SSH' 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案

    网上在windows下连接远程服务器的步骤如下: 1.打开cmd命令行窗口 2.输入cd ~/.ssh,进入c盘下的.ssh文件 3.输入“ssh root@远程服务器的ip地址”连接远程服务器, b ...

  4. Nginx RTMP 模块 nginx-rtmp-module 指令详解

    译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解.指令Corertmp语法:rtmp { ... }上下文:根描述:保存所 ...

  5. HTTP协议 (六) 状态码详解

    HTTP协议 (六) 状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果 ...

  6. python接口自动化(七)--状态码详解对照表(详解)

    简介 我们为啥要了解状态码,从它的作用,就不言而喻了.如果不了解,我们就会像个无头苍蝇,横冲直撞.遇到问题也不知道从何处入手,就是想找别人帮忙,也不知道是找前端还是后端的工程师. 状态码的作用是:we ...

  7. 前端基础:HTTP 状态码详解

    HTTP 状态码详解 1xx(信息类):表示接收到请求并继续处理 100 客户端应当继续发送请求.这个临时响应是用来通知客户端他的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部 ...

  8. 转。http,状态码详解

    转自konglingbinHTTP状态码详解:https://www.cnblogs.com/klb561/p/9205867.html HTTP状态码(HTTP Status Code)是用以表示网 ...

  9. 详解TCP连接的“三次握手”与“四次挥手”(下)

    上文链接: 详解TCP连接的"三次握手"与"四次挥手"(上) 四.TCP的四次挥手(Four-Way Wavehand) 0.前言 对于"三次握手&q ...

随机推荐

  1. Docker学习(三)docker容器操作

    上一篇:Docker学习(二)docker镜像操作 容器是基于镜像创建的,说白了把一个镜像运行起来就是容器 查看容器 docker ps 上面什么也没有,因为我们没有正在运行的容器,下面我门启动一个容 ...

  2. 每天一个linux命令(权限):【转载】chgrp命令

    在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...

  3. java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁

    之前做过一个测试,详情见这篇文章<多线程 +1操作的几种实现方式,及效率对比>,当时对这个测试结果很疑惑,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高 ...

  4. test20190305

    上午考试,是 \(SCOI\ 2016\ Day\ 1\) 的题目. 背单词 这题我以前是做过的.Trie树总结. #include<bits/stdc++.h> using namesp ...

  5. LOJ2613 NOIP2013 华容道 【最短路】*

    LOJ2613 NOIP2013 华容道 LINK 这是个好题,具体题意比较麻烦可以直接看LINK中的链接 然后考虑我们可能的移动方式 首先我们需要把白块移动到需要移动块S的附近(附近四格) 然后我们 ...

  6. 51nod 1244 莫比乌斯函数之和 【杜教筛】

    51nod 1244 莫比乌斯函数之和 莫比乌斯函数,由德国数学家和天文学家莫比乌斯提出.梅滕斯(Mertens)首先使用μ(n)(miu(n))作为莫比乌斯函数的记号.具体定义如下: 如果一个数包含 ...

  7. HDU2222 Keywords Search 【AC自动机】

    HDU2222 Keywords Search Problem Description In the modern time, Search engine came into the life of ...

  8. 如何实现一个可以用 await 异步等待的 Awaiter

    .NET 和 C# 共同给我们带来的 async/await 异步编程模型(TAP)用起来真的很爽.为了实现异步等待,我们只需要在一切能够能够异步等待的方法前面加上 await 即可.能够异步等待的最 ...

  9. Oracle11g的服务

    成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度.那么,具体该怎么做呢.按照win7 ...

  10. ( 转)mappingResource属性和mappingDirectoryLocations属性的使用

    在Spring的applicationContext.xml中配置映射文件,通常是在这个Bean实例中进行的,若配置的映射文件较少时,可以用sessionFactory的所属类LocalSession ...