rendered paste bodyimport flash.display.Sprite;
import flash.events.NetStatusEvent;
import flash.events.SecurityErrorEvent;
import flash.events.AsyncErrorEvent;
import flash.events.IOErrorEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.Event;
class NetConnectionExample extends Sprite {
private static var videoURL:String = "test.flv";
private var connection:NetConnection;
private var stream:NetStream;
public function NCExample() {
NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
connection.addEventListener(IOErrorEvent.IO_ERROR, iOErrorHandler);
trace("Before Connect.");
connection.connect("rtmp://cp19552.edgefcs.net/ondemand");
trace("After Connect.");
}
private function netStatusHandler(event:NetStatusEvent):Void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
trace(event);
connectStream();
default:
trace(event);
}
}
private function securityErrorHandler(event:SecurityErrorEvent):Void {
trace("securityErrorHandler: " + event);
}
private function asyncErrorHandler(event:AsyncErrorEvent):Void {
trace(event);
}
private function iOErrorHandler(event:IOErrorEvent):Void {
trace(event);
}
function onMetaData( data : Dynamic ) {
var metas = Reflect.copy(data);
trace("META "+Std.string(metas));
}
private function connectStream():Void {
var stream:NetStream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.client = { onMetaData : onMetaData };
var video:Video = new Video();
video.attachNetStream(stream);
stream.play(videoURL);
addChild(video);
}
}
class StreamPlayer {
public static function main() {
var example:NetConnectionExample;
example = new NetConnectionExample();
example.NCExample();
}
}