ActionScript 3.0 Design Patterns

(Chris Devlin) #1
Video Player Concrete State Application | 373

flv_txt.borderColor=0x9e0039;
flv_txt.background=true;
flv_txt.backgroundColor=0xfab383;
flv_txt.type=TextFieldType.INPUT;
flv_txt.x=(stage.stageWidth/2)-45;
flv_txt.y=10;
flv_txt.width=90;
flv_txt.height=16;
addChild (flv_txt);


//This prevents a MetaData error being thrown
dummy=new Object( );
ns.client=dummy;
dummy.onMetaData=getMeta;


//NetStream
ns.addEventListener (NetStatusEvent.NET_STATUS, flvCheck);
}
//MetaData
private function getMeta (mdata:Object):void
{
trace (mdata.duration);
}
//Handle flv
private function flvCheck (event:NetStatusEvent):void
{
switch (event.info.code)
{
case "NetStream.Play.Stop" :
vidTest.stopPlay (ns);
vid.clear ( );
break;
case "NetStream.Play.StreamNotFound" :
vidTest.stopPlay (ns);
flv_txt.text="File not found";
break;
}
}
//Start play
private function doPlay (e:MouseEvent):void
{
if (flv_txt.text != "" && flv_txt.text !=
"Provide file name")
{
flv_txt.textColor=0x000000;
flv=flv_txt.text + ".flv";
vidTest.startPlay (ns,flv);
vid.attachNetStream (ns);
}
else
{
flv_txt.textColor=0xcc0000;


Example 10-13. TestVid.as (continued)

Free download pdf