flash.events
public class NetStatusEvent
继承NetStatusEvent Inheritance Event Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

NetConnection、NetStream 或 SharedObject 对象报告其状态时,将调度 NetStatusEvent 对象。只有一种类型的状态事件:NetStatusEvent.NET_STATUS

查看示例

另请参见

flash.net.NetConnection
flash.net.NetStream
flash.net.SharedObject
NetStatusEvent.NET_STATUS


公共属性
 属性定义方
 Inheritedbubbles : Boolean
[只读 (read-only)] 指示事件是否为冒泡事件。
Event
 Inheritedcancelable : Boolean
[只读 (read-only)] 指示是否可以阻止与事件相关联的行为。
Event
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
 InheritedcurrentTarget : Object
[只读 (read-only)] 当前正在使用某个事件侦听器处理 Event 对象的对象。
Event
 InheritedeventPhase : uint
[只读 (read-only)] 事件流中的当前阶段。
Event
  info : Object
一个对象,具有描述对象的状态或错误情况的属性。
NetStatusEvent
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
 Inheritedtarget : Object
[只读 (read-only)] 事件目标。
Event
 Inheritedtype : String
[只读 (read-only)] 事件的类型。
Event
公共方法
 方法定义方
  
NetStatusEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, info:Object = null)
创建一个 Event 对象,其中包含有关 netStatus 事件的信息。
NetStatusEvent
  
创建 NetStatusEvent 对象的副本,并设置每个属性的值以匹配原始属性值。
NetStatusEvent
 Inherited
formatToString(className:String, ... arguments):String
用于在自定义 ActionScript 3.0 Event 类中实现 toString() 方法的实用程序函数。
Event
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
检查是否已对事件调用 preventDefault() 方法。
Event
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
如果可以取消事件的默认行为,则取消该行为。
Event
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。
Event
 Inherited
防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。
Event
  
返回一个字符串,其中包含 NetStatusEvent 对象的所有属性。
NetStatusEvent
 Inherited
返回指定对象的原始值。
Object
公共常量
 常量定义方
 InheritedACTIVATE : String = "activate"
[静态] ACTIVATE 常量定义 activate 事件对象的 type 属性的值。
Event
 InheritedADDED : String = "added"
[静态] Event.ADDED 常量定义 added 事件对象的 type 属性值。
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[静态] Event.ADDED_TO_STAGE 常量定义 addedToStage 事件对象的 type 属性值。
Event
 InheritedCANCEL : String = "cancel"
[静态] Event.CANCEL 常量定义 cancel 事件对象的 type 属性的值。
Event
 InheritedCHANGE : String = "change"
[静态] Event.CHANGE 常量定义 change 事件对象的 type 属性值。
Event
 InheritedCLEAR : String = "clear"
[静态] Event.CLEAR 常量定义 clear 事件对象的 type 属性的值。
Event
 InheritedCLOSE : String = "close"
[静态] Event.CLOSE 常量定义 close 事件对象的 type 属性的值。
Event
 InheritedAIR-only CLOSING : String = "closing"
[静态] Event.CLOSING 常量定义 closing 事件对象的 type 属性值。
Event
 InheritedCOMPLETE : String = "complete"
[静态] Event.COMPLETE 常量定义 complete 事件对象的 type 属性值。
Event
 InheritedCONNECT : String = "connect"
[静态] Event.CONNECT 常量定义 connect 事件对象的 type 属性值。
Event
 InheritedCOPY : String = "copy"
[静态] 定义 copy 事件对象的 type 属性值。
Event
 InheritedCUT : String = "cut"
[静态] 定义 cut 事件对象的 type 属性值。
Event
 InheritedDEACTIVATE : String = "deactivate"
[静态] Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。
Event
 InheritedDISPLAYING : String = "displaying"
[静态] Event.DISPLAYING 常量定义 displaying 事件对象的 type 属性值。
Event
 InheritedENTER_FRAME : String = "enterFrame"
[静态] Event.ENTER_FRAME 常量定义 enterFrame 事件对象的 type 属性值。
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[静态] Event.EXIT_FRAME 常量定义 exitFrame 事件对象的 type 属性的值。
Event
 InheritedAIR-only EXITING : String = "exiting"
[静态] Event.EXITING 常量定义 exiting 事件对象的 type 属性值。
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[静态] Event.FRAME_CONSTRUCTED 常量定义 frameConstructed 事件对象的 type 属性的值。
Event
 InheritedFULLSCREEN : String = "fullScreen"
[静态] Event.FULL_SCREEN 常量定义 fullScreen 事件对象的 type 属性值。
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[静态] Event.HTML_BOUNDS_CHANGE 常量定义 htmlBoundsChange 事件对象的 type 属性值。
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[静态] Event.HTML_DOM_INITIALIZE 常量定义 htmlDOMInitialize 事件对象的 type 属性值。
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[静态] Event.HTML_RENDER 常量定义 htmlRender 事件对象的 type 属性值。
Event
 InheritedID3 : String = "id3"
[静态] Event.ID3 常量定义 id3 事件对象的 type 属性值。
Event
 InheritedINIT : String = "init"
[静态] Event.INIT 常量定义 init 事件对象的 type 属性值。
Event
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[静态] Event.LOCATION_CHANGE 常量定义 locationChange 事件对象的 type 属性值。
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[静态] Event.MOUSE_LEAVE 常量定义 mouseLeave 事件对象的 type 属性值。
Event
  NET_STATUS : String = "netStatus"
[静态] 定义 netStatus 事件对象的 type 属性值。
NetStatusEvent
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[静态] Event.NETWORK_CHANGE 常量定义 networkChange 事件对象的 type 属性值。
Event
 InheritedOPEN : String = "open"
[静态] Event.OPEN 常量用于定义 open 事件对象的 type 属性值。
Event
 InheritedPASTE : String = "paste"
[静态] Event.PASTE 常量定义 paste 事件对象的 type 属性的值。
Event
 InheritedREMOVED : String = "removed"
[静态] Event.REMOVED 常量定义 removed 事件对象的 type 属性值。
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[静态] Event.REMOVED_FROM_STAGE 常量定义 removedFromStage 事件对象的 type 属性值。
Event
 InheritedRENDER : String = "render"
[静态] Event.RENDER 常量定义 render 事件对象的 type 属性的值。
Event
 InheritedRESIZE : String = "resize"
[静态] Event.RESIZE 常量定义 resize 事件对象的 type 属性的值。
Event
 InheritedSCROLL : String = "scroll"
[静态] Event.SCROLL 常量定义 scroll 事件对象的 type 属性值。
Event
 InheritedSELECT : String = "select"
[静态] Event.SELECT 常量定义 select 事件对象的 type 属性的值。
Event
 InheritedSELECT_ALL : String = "selectAll"
[静态] Event.SELECT_ALL 常量定义 selectAll 事件对象的 type 属性的值。
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[静态] Event.SOUND_COMPLETE 常量定义 soundComplete 事件对象的 type 属性值。
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[静态] Event.TAB_CHILDREN_CHANGE 常量定义 tabChildrenChange 事件对象的 type 属性值。
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[静态] Event.TAB_ENABLED_CHANGE 常量定义 tabEnabledChange 事件对象的 type 属性值。
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[静态] Event.TAB_INDEX_CHANGE 常量定义 tabIndexChange 事件对象的 type 属性值。
Event
 InheritedUNLOAD : String = "unload"
[静态] Event.UNLOAD 常量定义 unload 事件对象的 type 属性值。
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[静态] Event.USER_IDLE 常量定义 userIdle 事件对象的 type 属性值。
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[静态] Event.USER_PRESENT 常量定义 userPresent 事件对象的 type 属性值。
Event
属性详细信息
info属性
info:Object  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

一个对象,具有描述对象的状态或错误情况的属性。

该信息对象可能具有 code 属性(它包含表示特定事件的字符串),或者具有 level 属性(它包含 "status""error" 字符串)。

该信息对象还可能具有其它属性。由于一些实现和服务器可能发送不同的对象,codelevel 属性可能不起作用。

P2P 连接使用指示消息所属 NetStream 的信息对象中的 stream 参数,将消息发送给 NetConnection

下表说明了 codelevel 属性可能的字符串值。

代码属性级别属性意义
"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 属性更改缓冲区。



实现
    public function get info():Object
    public function set info(value:Object):void

另请参见

构造函数详细信息
NetStatusEvent()构造函数
public function NetStatusEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, info:Object = null)

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

创建一个 Event 对象,其中包含有关 netStatus 事件的信息。将 Event 对象作为参数传递给事件侦听器。

参数
type:String — 事件的类型。事件侦听器可以通过继承的 type 属性访问此信息。只有一种类型的状态事件:NetStatusEvent.NET_STATUS
 
bubbles:Boolean (default = false) — 确定 Event 对象是否参与事件流的冒泡阶段。事件侦听器可以通过继承的 bubbles 属性访问此信息。
 
cancelable:Boolean (default = false) — 确定是否可以取消 Event 对象。事件侦听器可以通过继承的 cancelable 属性访问此信息。
 
info:Object (default = null) — 一个对象,包含描述其状态的属性。事件侦听器可以通过 info 属性访问此对象。

另请参见

方法详细信息
clone()方法
override public function clone():Event

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

创建 NetStatusEvent 对象的副本,并设置每个属性的值以匹配原始属性值。

返回
Event — 其属性值与原始属性值匹配的新 NetStatusEvent 对象。
toString()方法 
override public function toString():String

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

返回一个字符串,其中包含 NetStatusEvent 对象的所有属性。字符串的格式如下:

[NetStatusEvent type=value bubbles=value cancelable=value info=value ]

返回
String — 一个字符串,其中包含 NetStatusEvent 对象的所有属性。
常量详细信息
NET_STATUS常量
public static const NET_STATUS:String = "netStatus"

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

定义 netStatus 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
info 一个对象,具有描述对象的状态或错误情况的属性。
target 报告其状态的 NetConnection 或 NetStream 对象。

另请参见

示例 如何使用示例
NetStatusEventExample.as

以下示例将 Video 对象与 NetConnection 和 NetStream 类一同使用,以加载和播放 FLV 文件。

在此示例中,netStatusHandler 方法作为 NetStatusEvent 事件 NetConnection.netStatus 的侦听器进行注册。当确定了 NetConnection.connect() 尝试的状态(成功或失败)时,netStatus 事件触发此方法。如果连接 NetConnection 对象的尝试取得成功(也就是说,如果 NetStatusEvent 对象的 info 属性由 netStatus 事件调度,并有一个表示成功的 code 属性),则代码创建 Video 和 NetStream 对象并调用 Video.attachNetStream()NetStream.play() 方法。

注意:若要运行此示例,需要一个名称和位置与传递给 videoURL 的变量相匹配的 FLV 文件;在本例中,使用 SWF 文件所在目录下的一个名为 Video.flv 的 FLV 文件。

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;

    public class NetStatusEventExample extends Sprite {
        private var videoURL:String = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        public function NetStatusEventExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
        }

        private function connectStream():void {
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
        
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }

    }
 }