Package | flash.net |
Class | public class NetConnection |
Inheritance | NetConnection EventDispatcher Object |
Language version: | ActionScript 3.0 |
Runtime version: |
NetConnection.connect()
to
establish the connection. Use the NetStream class to send streams of media and data over the connection.
For security information about loading content and data into Flash Player and AIR, see the following:
To write callback methods for this class, extend the class and define the
callback methods in the subclass, or assign the client
property to an object and define the callback methods on that object.
See also
Property | Defined by | ||
---|---|---|---|
client : Object
Indicates the object on which callback methods are invoked.
| NetConnection | ||
connected : Boolean
[read-only]
Indicates whether the application is connected to a server through
a persistent RTMP connection (
true ) or not (false ). | NetConnection | ||
connectedProxyType : String
[read-only]
The proxy type used to make a successful connection to Flash Media Server.
| NetConnection | ||
constructor : Object
A reference to the class object or constructor function for a given object instance.
| Object | ||
defaultObjectEncoding : uint
[static]
The default object encoding for NetConnection objects.
| NetConnection | ||
farID : String
[read-only]
The identifier of the Flash Media Server instance to which this Flash Player or Adobe AIR instance is connected.
| NetConnection | ||
farNonce : String
[read-only]
A value chosen substantially by Flash Media Server, unique to this connection.
| NetConnection | ||
httpIdleTimeout : Number
The time, in milliseconds, to wait for an HTTP response.
| NetConnection | ||
maxPeerConnections : uint
The total number of inbound and outbound peer connections that this instance of Flash Player or Adobe AIR allows.
| NetConnection | ||
nearID : String
[read-only]
The identifier of this Flash Player or Adobe AIR instance for this NetConnection instance.
| NetConnection | ||
nearNonce : String
[read-only]
A value chosen substantially by this Flash Player or Adobe AIR instance, unique to this connection.
| NetConnection | ||
objectEncoding : uint
The object encoding for this NetConnection instance.
| NetConnection | ||
protocol : String
[read-only]
The protocol used to establish the connection.
| NetConnection | ||
prototype : Object
[static]
A reference to the prototype object of a class or function object.
| Object | ||
proxyType : String
Determines which fallback methods are tried if an
initial connection attempt to Flash Media Server fails.
| NetConnection | ||
unconnectedPeerStreams : Array
[read-only]
An object that holds all of the peer subscriber NetStream objects that are not associated with publishing NetStream objects.
| NetConnection | ||
uri : String
[read-only]
The URI passed to the NetConnection.connect() method.
| NetConnection | ||
usingTLS : Boolean
[read-only]
Indicates whether a secure connection was made using native Transport Layer Security (TLS)
rather than HTTPS.
| NetConnection |
Method | Defined by | ||
---|---|---|---|
Creates a NetConnection object.
| NetConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event.
| EventDispatcher | ||
Adds a context header to the Action Message Format (AMF) packet structure.
| NetConnection | ||
Calls a command or method on Flash Media Server or on an application server running Flash Remoting.
| NetConnection | ||
Closes the connection that was opened locally or to the server and dispatches
a
netStatus event
with a code property of NetConnection.Connect.Closed . | NetConnection | ||
Creates a two-way connection to an application on Flash Media Server or to Flash Remoting, or creates a two-way network
endpoint for RTMFP peer-to-peer group communication.
| NetConnection | ||
Dispatches an event into the event flow.
| EventDispatcher | ||
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event.
| EventDispatcher | ||
Indicates whether an object has a specified property defined.
| Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | ||
Indicates whether the specified property exists and is enumerable.
| Object | ||
Removes a listener from the EventDispatcher object.
| EventDispatcher | ||
Sets the availability of a dynamic property for loop operations.
| Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions.
| Object | ||
Returns the string representation of the specified object.
| Object | ||
Returns the primitive value of the specified object.
| Object | ||
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type.
| EventDispatcher |
Event | Summary | Defined by | ||
---|---|---|---|---|
[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | |||
Dispatched when an exception is thrown asynchronously — that is, from native asynchronous code. | NetConnection | |||
[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | |||
Dispatched when an input or output error occurs that causes a network operation to fail. | NetConnection | |||
Dispatched when a NetConnection object is reporting its status or error condition. | NetConnection | |||
Dispatched if a call to NetConnection.call() attempts to connect to a server outside the caller's security sandbox. | NetConnection |
client | property |
client:Object
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
Indicates the object on which callback methods are invoked. The default is
this NetConnection instance. If you set the client
property to another object,
callback methods will be invoked on that object.
public function get client():Object
public function set client(value:Object):void
TypeError — The client property must be set to a non-null object.
|
connected | property |
connected:Boolean
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: |
Indicates whether the application is connected to a server through
a persistent RTMP connection (true
) or not (false
).
When connected through HTTP, this property is false
, except
when connected to Flash Remoting services on an application server,
in which case it is true
.
public function get connected():Boolean
connectedProxyType | property |
connectedProxyType:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: |
The proxy type used to make a successful connection to Flash Media Server. Possible values are:
"none"
, "HTTP"
, "HTTPS"
, or "CONNECT"
.
The value is "none"
if the connection is not tunneled or is a native SSL connection.
The value is "HTTP"
if the connection is tunneled over HTTP.
The value is "HTTPS"
if the connection is tunneled over HTTPS,
The value is "CONNECT"
if the connection is tunneled using the CONNECT method through a proxy server.
public function get connectedProxyType():String
ArgumentError — An attempt was made to access this property when the NetConnection instance
was not connected.
|
defaultObjectEncoding | property |
defaultObjectEncoding:uint
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
The default object encoding for NetConnection objects.
When an object is written to or read from binary data, the defaultObjectEncoding
property indicates which Action Message Format (AMF) version is used to serialize the data:
the ActionScript 3.0 format (ObjectEncoding.AMF3
)
or the ActionScript 1.0 and ActionScript 2.0 format (ObjectEncoding.AMF0
).
The default value is ObjectEncoding.AMF3
.
Changing NetConnection.defaultObjectEncoding
does not affect existing NetConnection instances; it affects only instances that
are created subsequently.
To set an object's encoding separately (rather than setting object encoding for the entire
application), set the objectEncoding
property of the NetConnection object instead.
For more detailed information, see the description of the objectEncoding
property.
public static function get defaultObjectEncoding():uint
public function set defaultObjectEncoding(value:uint):void
See also
farID | property |
farID:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The identifier of the Flash Media Server instance to which this Flash Player or Adobe AIR instance is connected. This property is meaningful only for RTMFP connections. The value of this property is available only after an RTMFP connection is established.
Implementation public function get farID():String
See also
farNonce | property |
farNonce:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
A value chosen substantially by Flash Media Server, unique to this connection. This value appears to the server
as its client.nearNonce
value. This value is defined only for RTMFP, RTMPE, and RTMPTE connections.
public function get farNonce():String
httpIdleTimeout | property |
httpIdleTimeout:Number
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 2.6 |
The time, in milliseconds, to wait for an HTTP response. The default value is zero.
httpIdleTimeout
value is a Number
.RangeError
.httpIdleTimeout
value is exceeded, a netStatus
event is dispatched.NetConnection
objects created with HTTP connections.
NetConnection
objects created with RTMP, RTMFP, or other HTTP channels remain unaffected by this property.//Set the timeout to 5 seconds connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.httpIdleTimeout = 5000;
NetConnection
may take more seconds to timeout than what is specified using the
httpIdleTimeout
value.
Implementation
public function get httpIdleTimeout():Number
public function set httpIdleTimeout(value:Number):void
maxPeerConnections | property |
maxPeerConnections:uint
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The total number of inbound and outbound peer connections that this instance of Flash Player or Adobe AIR allows. The default value is 8.
This value does not distinguish between publisher and subscriber connections. If this value is reduced while peer connections are present, the new value affects new incoming connections only. Existing connections are not dropped.
Implementation public function get maxPeerConnections():uint
public function set maxPeerConnections(value:uint):void
nearID | property |
nearID:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The identifier of this Flash Player or Adobe AIR instance for this NetConnection instance. This property is meaningful only for RTMFP connections.
Every NetConnection instance has a unique nearID
property. No Flash Player or Adobe AIR instance
or NetConnection instance has the same identifier.
Other Flash Player or Adobe AIR instances
use this identifier as the peerID
for new NetStream connections to this client.
Subsequently, this identifier is the farID
in any peer NetStream that connects to this instance.
public function get nearID():String
See also
nearNonce | property |
nearNonce:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
A value chosen substantially by this Flash Player or Adobe AIR instance, unique to this connection. This value appears to the server
as its client.farNonce
value. This value is defined only for RTMFP, RTMPE, and RTMPTE connections.
public function get nearNonce():String
objectEncoding | property |
objectEncoding:uint
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
The object encoding for this NetConnection instance.
When an object is written to or read from binary data, the defaultObjectEncoding
property indicates which Action Message Format (AMF) version is used to serialize the data: the ActionScript 3.0 format (ObjectEncoding.AMF3
)
or the ActionScript 1.0 and ActionScript 2.0 format (ObjectEncoding.AMF0
).
Set the objectEncoding
property to set an AMF version for a NetConnection instance.
It's important to understand this property if your application needs to communicate with servers released prior to Flash Player 9. The following three scenarios are possible:
defaultObjectEncoding
is
ObjectEncoding.AMF3
. All NetConnection instances created in this
file use AMF3 serialization, so you don't need to set the
objectEncoding
property.NetConnection.defaultObjectEncoding
property to
ObjectEncoding.AMF0
. All NetConnection instances created in this
SWF file use AMF0 serialization. You don't need to set the
objectEncoding
property. defaultObjectEncoding
, set the object encoding on a per-connection
basis using the objectEncoding
property for each connection.
Set it to ObjectEncoding.AMF0
to connect to
servers that use AMF0 encoding, such as Flash Media Server 2,
and set it to ObjectEncoding.AMF3
to connect to
servers that use AMF3 encoding, such as Flex Data Services 2.Once a NetConnection instance is connected, its objectEncoding
property is read-only.
If you use the wrong encoding to connect to a server, the NetConnection object
dispatches the netStatus
event. The NetStatusEvent.info
property contains an information object with a code
property value of
NetConnection.Connect.Failed
, and a description explaining that the object
encoding is incorrect.
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
ReferenceError — An attempt was made to set the value of the objectEncoding
property while the NetConnection instance was connected.
|
|
ArgumentError — This property was set to a value other than ObjectEncoding.AMF0
or ObjectEncoding.AMF3 .
|
See also
protocol | property |
protocol:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
The protocol used to establish the connection. This property is relevant when using Flash Media Server. Possible values are as follows:
"rtmp"
: Real-Time Messaging Protocol (RTMP)"rtmpe"
: Encrypted RTMP"rtmpt"
: HTTP tunneling RTMP"rtmpte"
: HTTP tunneling encrypted RTMP"rtmps"
: HTTPS-based RTMP"rtmfp"
: Real-Time Media Flow Protocol (RTMFP) public function get protocol():String
ArgumentError — An attempt was made to access this property when the NetConnection instance
was not connected.
|
proxyType | property |
proxyType:String
[read-write]
Language version: | ActionScript 3.0 |
Runtime version: |
Determines which fallback methods are tried if an
initial connection attempt to Flash Media Server fails. Set the proxyType
property before
calling the NetConnection.connect()
method.
Acceptable values are "none"
, "HTTP"
, "CONNECTOnly"
, "CONNECT"
,
and "best"
.The default value is "none"
.
To use native SSL, set the property to "best"
. If the player cannot make a direct connection
to the server (over the default port of 443 or over another port that you specify)
and a proxy server is in place, the player tries to use the CONNECT method. If that attempt fails, the player tunnels over HTTPS.
If the property is set to "CONNECTOnly"
, the player tries to use the CONNECT
method first.
If that fails, there is no fallback.
If the property is set to "HTTP"
and a direct connection fails, HTTP tunneling is used.
If the property is set to "CONNECT"
and a direct connection fails,
the CONNECT
method of tunneling is used. If that fails, the connection does
not fall back to HTTP tunneling.
This property is applicable only when using RTMP, RTMPS, or RTMPT. The CONNECT
and
CONNECTOnly
methods are
applicable only to users who are connected to the network by a proxy server.
public function get proxyType():String
public function set proxyType(value:String):void
unconnectedPeerStreams | property |
unconnectedPeerStreams:Array
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: | AIR 1.5 |
An object that holds all of the peer subscriber NetStream objects that are not associated with publishing NetStream objects.
Subscriber NetStream objects that are associated with publishing NetStream objects are in the NetStream.peerStreams
array.
public function get unconnectedPeerStreams():Array
See also
uri | property |
uri:String
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: |
The URI passed to the NetConnection.connect() method.
If NetConnection.connect()
hasn't been called or if no URI was passed,
this property is undefined
.
public function get uri():String
usingTLS | property |
usingTLS:Boolean
[read-only]
Language version: | ActionScript 3.0 |
Runtime version: |
Indicates whether a secure connection was made using native Transport Layer Security (TLS) rather than HTTPS. This property is valid only when a NetConnection object is connected.
Implementation public function get usingTLS():Boolean
ArgumentError — An attempt was made to access this property when the NetConnection instance
was not connected.
|
NetConnection | () | constructor |
public function NetConnection()
Language version: | ActionScript 3.0 |
Runtime version: |
Creates a NetConnection object. Call the connect()
method to make a connection.
If an application needs to communicate with servers released prior
to Flash Player 9, set the NetConnection object's
objectEncoding
property.
The following code creates a NetConnection object:
var nc:NetConnection = new NetConnection();
See also
addHeader | () | method |
public function addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
Language version: | ActionScript 3.0 |
Runtime version: |
Adds a context header to the Action Message Format (AMF) packet structure. This header is sent with
every future AMF packet. If you call NetConnection.addHeader()
using the same name, the new header replaces the existing header, and the new header
persists for the duration of the NetConnection object. You can remove a header by
calling NetConnection.addHeader()
with the name of the header to remove
an undefined object.
operation:String — Identifies the header and the ActionScript object data associated with it.
|
|
mustUnderstand:Boolean (default = false ) — A value of true indicates that the server must understand
and process this header before it handles any of the following headers or messages.
|
|
param:Object (default = null ) — Any ActionScript object.
|
call | () | method |
public function call(command:String, responder:Responder, ... arguments):void
Language version: | ActionScript 3.0 |
Runtime version: |
Calls a command or method on Flash Media Server or on an application server running Flash Remoting.
Before calling NetConnection.call()
you must call NetConnection.connect()
to connect to the server. You must create a server-side function to pass to this method.
You cannot connect to commonly reserved ports. For a complete list of blocked ports, see "Restricting Networking APIs" in the ActionScript 3.0 Developer's Guide.
Parameterscommand:String — A method specified in the form [objectPath/]method . For example,
the someObject/doSomething command tells the remote server
to call the clientObject.someObject.doSomething() method, with all the optional
... arguments parameters. If the object path is missing,
clientObject.doSomething() is invoked on the remote server.
With Flash Media Server, |
|
responder:Responder — An optional object that is used to handle return values from the server.
The Responder object can have two defined methods to handle the returned result:
result and status . If an error is returned as the result,
status is invoked; otherwise, result is invoked. The Responder object
can process errors related to specific operations, while the NetConnection object responds to
errors related to the connection status.
|
|
... arguments — Optional arguments that can be of any ActionScript type,
including a reference to another ActionScript object. These arguments are passed
to the method specified in the command parameter when the method is executed on the
remote application server.
|
securityError:SecurityErrorEvent — A call attempted
to communicate with a server outside the caller's security sandbox.
You can avoid this problem by using a policy file on the server. |
See also
close | () | method |
public function close():void
Language version: | ActionScript 3.0 |
Runtime version: |
Closes the connection that was opened locally or to the server and dispatches
a netStatus
event
with a code
property of NetConnection.Connect.Closed
.
This method disconnects all NetStream objects running over the connection.
Any queued data that has not been sent is discarded. (To terminate
local or server streams without closing the connection, use NetStream.close()
.)
If you close the connection and then want to create a new one,
you must create a new NetConnection object and call the connect()
method again.
The close()
method also disconnects all remote shared objects running
over this connection.
However, you don't need to recreate the shared object to reconnect. Instead, you can just
call SharedObject.connect()
to reestablish the connection to the shared object.
Also, any data in the shared object that was queued when you issued
NetConnection.close()
is sent after you reestablish a connection
to the shared object.
With Flash Media Server, the best development practice is to call close()
when the client no longer needs the connection to the server. Calling close()
is the fastest way to clean up unused connections. You can configure the server to close idle connections
automatically as a back-up measure. For more information, see
the Flash Media Server Configuration and Administration Guide.
See also
connect | () | method |
public function connect(command:String, ... arguments):void
Language version: | ActionScript 3.0 |
Runtime version: |
Creates a two-way connection to an application on Flash Media Server or to Flash Remoting, or creates a two-way network
endpoint for RTMFP peer-to-peer group communication. To report its status or an error condition, a
call to NetConnection.connect()
dispatches a netStatus
event.
Call NetConnection.connect()
to do the following:
Consider the following security model:
NetConnection.connect()
if the calling file is in the
local-with-file-system sandbox.allowNetworking
parameter of the the object
and embed
tags in the HTML
page that contains the SWF content.However, in Adobe AIR, content in the application
security sandbox (content
installed with the AIR application) are not restricted by these security limitations.
For more information about security, see the Adobe Flash Player Developer Center: Security.
Parameterscommand:String — Use one of the following values for the command parameter:
This connection type has the following limitations: Only peers on the same LAN can discover each other. Using IP multicast, Flash Player can receive streams, it cannot send them. Flash Player and AIR can send and receive streams in a peer-to-peer group, but the peers must be discovered on the same LAN using IP multicast. This technique cannot be used for one-to-one communication. |
|
... arguments — Optional parameters of any type passed to the application
specified in command .
With Flash Media Server, the additional arguments are passed to the
application.onConnect() event handler in the application's server-side
code. You must define and handle the arguments in onConnect() .
|
ArgumentError — The URI passed to the command parameter is
improperly formatted.
|
|
Error — The connection failed. This can happen if you call connect()
from within a netStatus event handler, which is not allowed.
|
|
SecurityError — Local-with-filesystem SWF files cannot communicate with the Internet.
You can avoid this problem by reclassifying the SWF file as local-with-networking or trusted.
|
|
SecurityError — You cannot connect to commonly reserved ports.
For a complete list of blocked ports, see "Restricting Networking APIs" in the
ActionScript 3.0 Developer's Guide.
|
See also
asyncError | event |
flash.events.AsyncErrorEvent
flash.events.AsyncErrorEvent.ASYNC_ERROR
Language version: | ActionScript 3.0 |
Runtime version: |
Dispatched when an exception is thrown asynchronously — that is, from native asynchronous code.
The AsyncErrorEvent.ASYNC_ERROR
constant defines the value of the
type
property of an asyncError
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false
This property applies to ActionScript 3.0 display objects (in SWF files). |
cancelable | false ; there is no default
behavior to cancel. This property applies to display objects
in SWF content, which use the ActionScript 3.0 display architecture. |
currentTarget | The object that is actively processing the Event object with an event listener. This property applies to display objects in SWF content, which use the ActionScript 3.0 display architecture. |
target | The object dispatching the event. |
error | The error that triggered the event. |
ioError | event |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
Language version: | ActionScript 3.0 |
Runtime version: |
Dispatched when an input or output error occurs that causes a network operation to fail.
Defines the value of the type
property of an ioError
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
errorID | A reference number associated with the specific error (AIR only). |
target | The network object experiencing the input/output error. |
text | Text to be displayed as an error message. |
netStatus | event |
flash.events.NetStatusEvent
flash.events.NetStatusEvent.NET_STATUS
Language version: | ActionScript 3.0 |
Runtime version: |
Dispatched when a NetConnection object is reporting its status or error condition.
The netStatus
event contains an info
property,
which is an information object that contains specific information about the event,
such as whether a connection attempt succeeded or failed.
Defines the value of the type
property of a netStatus
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
info | An object with properties that describe the object's status or error condition. |
target | The NetConnection or NetStream object reporting its status. |
See also
securityError | event |
flash.events.SecurityErrorEvent
flash.events.SecurityErrorEvent.SECURITY_ERROR
Language version: | ActionScript 3.0 |
Runtime version: |
Dispatched if a call to NetConnection.call() attempts to connect to a server outside the caller's security sandbox.
The SecurityErrorEvent.SECURITY_ERROR
constant defines the value of the type
property of a securityError
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
currentTarget | The object that is actively processing the Event object with an event listener. |
target | The network object reporting the security error. |
text | Text to be displayed as an error message. |
See also
In this example, the code that creates the Video and NetStream objects and calls the
Video.attachNetStream()
and NetStream.play()
methods is placed
in a handler function. The handler is called only if the
attempt to connect to the NetConnection object is successful; that is,
when the netStatus
event returns an info
object with a code
property that indicates success.
It is recommended that you wait for a successful connection before you call
NetStream.play()
.
package { import flash.display.Sprite; import flash.events.NetStatusEvent; import flash.events.SecurityErrorEvent; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.Event; public class NetConnectionExample extends Sprite { private var videoURL:String = "http://www.helpexamples.com/flash/video/cuepoints.flv"; private var connection:NetConnection; private var stream:NetStream; private var video:Video = new Video(); public function NetConnectionExample() { 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("Stream not found: " + videoURL); break; } } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function connectStream():void { addChild(video); var stream:NetStream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.client = new CustomClient(); video.attachNetStream(stream); stream.play(videoURL); } } } class CustomClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate); } public function onCuePoint(info:Object):void { trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type); } }