4,328
社区成员
发帖
与我相关
我的任务
分享
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.NetStatusEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.text.TextField;
public class AsTest extends Sprite
{
private var stream:NetStream=null;
private var progressLabel:TextField=new TextField();
private var connection:NetConnection=null;
private var video:Video;
public function AsTest()
{
progressLabel.x=100;
progressLabel.y=250;
connection=new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS,handlerNetStatusChange);
connection.connect("rtmp://127.0.0.1/vod");
var callObj:Object=new Object();
callObj.onBWCheck=function (... rest):Number {
return 0;
}
callObj.onBWDone= function (... rest):void {
var p_bw:Number=0;
if (rest.length > 0) p_bw = rest[0];
// do something here
// when the bandwidth check is complete
trace("bandwidth = " + p_bw + " Kbps.");
}
connection.client=callObj;
this.addChild(progressLabel);
}
private function handlerEnterFrame(oEvent:Event):void
{
if(this.stream!=null)
{
progressLabel.text="loadedByte:"+this.stream.bytesLoaded.toString()+"total:"+this.stream.bytesTotal.toString();
}
}
private function handlerNetStatusChange(oEvent:NetStatusEvent):void
{
var codeInfo:String=oEvent.info.code;
switch(codeInfo)
{
case"NetConnection.Connect.Success":
stream=new NetStream(oEvent.currentTarget as NetConnection);
var streamClientObj:Object=new Object();
streamClientObj.onMetaData=function(oParameter1:Object):void
{
for(var i in oParameter1){
trace(i+":"+oParameter1[i]);
}
}
stream.client=streamClientObj;
stream.addEventListener(NetStatusEvent.NET_STATUS,handlerNetStreamStatusChange);
stream.play("sf");
video=new Video();
video.addEventListener(Event.ENTER_FRAME,handlerEnterFrame);
video.attachNetStream(stream);
this.addChild(video);
break;
}
}
private function handlerNetStreamStatusChange(oEvent:NetStatusEvent):void
{
}
}
}