原地址: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. NFS,两台linux设置网络共享文件系统

    NFS,MOUNT,UMOUNT 简介 NFS是Network File System的简写,网络文件系统.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,根据权限的控制可以对N ...

  2. selenium-java,cookie登陆

    方法 public void login(WebDriver WebDriver,String cookie1[],String cookie2[]) throws ParseException{// ...

  3. test20181029 思考熊的马拉松

    题意 思考熊的马拉松 问题描述 今年,n只思考熊参加了校园马拉松比赛.马拉松的赛道是环形的,每圈的长度是A,完成比赛需要跑L圈. 比赛中,甲领先乙很长距离,绕过一圈或多圈后从后面追上了乙的现象叫做&q ...

  4. hoverfly api 模拟框架了解

    What is Hoverfly? Hoverfly is a lightweight, open source API simulation tool. Using Hoverfly, you ca ...

  5. drone 学习二 pipeline 说明

    1. 基本语法 pipeline: backend: image: golang commands: - go build - go test frontend: image: node comman ...

  6. PHP实现的多文件上传类及用法示例

    这篇文章主要介绍了PHP实现的多文件上传类及用法,详细分析了php实现的多文件上传类与具体的使用技巧,需要的朋友可以参考下 1.upFiles.css.php 文件 <?php class Up ...

  7. 模态对话框中的window.close关闭时会打开新页面

    在模态对话框的页面的<head></head>加上<base target="_self"> 就不会打开新页面了.

  8. STL所有算法简介 (转) http://www.cnblogs.com/yuehui/archive/2012/06/19/2554300.html

    STL所有算法简介 STL中的所有算法(70个) 参考自:http://www.cppblog.com/mzty/archive/2007/03/14/19819.htmlhttp://hi.baid ...

  9. jmeter 历史版本下载

    在官网下载: https://jmeter.apache.org/download_jmeter.cgi 新版本 要从命令行启动 cd 到bin目录下 使用 sh jmeter

  10. java项目-----客户端与客户端通信--实现群聊功能的代码

    这是这个网络聊天室项目的原理图: 很简单,首先ABCD是4个客户端,当A发送信息给服务器,服务器实现以广播的形式把信息全发给每个人---群发群聊 客户端代码: package com.aa; impo ...