package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; import flash.media.Video; import flash.net.NetStream; import flash.display.LoaderInfo; import com.virgilfilmsent.media.controllers.FLVController; import com.virgilfilmsent.media.displays.FLVDisplay; import com.virgilfilmsent.events.MediaEvent; public class FLVQuickTest extends Sprite { private var _flvController:FLVController; private var _flvDisplay:FLVDisplay; private var _controlPanel:controlPanel; private var _controlButtons:Array; private var _activeButton:String; private var _bigButton:bigButton; public function FLVQuickTest() { init(); }//FLVQuickTest private function init():void { var _trailer:String = this.loaderInfo.parameters.trailer; _flvController = new FLVController(); _flvController.addEventListener(Event.INIT, mediaInit, false, 0, true); _flvController.addEventListener(MediaEvent.COMPLETE, mediaComplete, false, 0, true); _flvDisplay = new FLVDisplay(); addChild(_flvDisplay); _flvDisplay.x = 0; _flvDisplay.y = 0; _flvDisplay.displayWidth = 500; _flvDisplay.displayHeight = 333; _flvDisplay.setController(_flvController); _bigButton = new bigButton(); _bigButton.x = 195; _bigButton.y = 131.5; addChild(_bigButton); _bigButton.gotoAndStop("Up"); _bigButton.addEventListener(MouseEvent.MOUSE_OVER, bigButtonHandler, false, 0, true); _bigButton.addEventListener(MouseEvent.MOUSE_OUT, bigButtonHandler, false, 0, true); _bigButton.addEventListener(MouseEvent.CLICK, bigButtonHandler, false, 0, true); var roundRect:Sprite = new Sprite(); roundRect.graphics.beginFill(0xFF0000); roundRect.graphics.lineStyle(0,0xFF0000); roundRect.graphics.drawRoundRect(0, 0, 500, 333, 33); roundRect.graphics.endFill(); addChild(roundRect); _flvDisplay.mask = roundRect; _flvController.loadMedia(_trailer); _flvController.stopMedia(); _activeButton = "mStop"; setControlPanel(); }//init private function setControlPanel():void { //setup media control panel _controlPanel = new controlPanel(); _controlPanel.x = 0; _controlPanel.y = 283; addChild(_controlPanel); //control panel Mask var roundRect2:Sprite = new Sprite(); roundRect2.graphics.beginFill(0xFF0000); roundRect2.graphics.lineStyle(0,0xFF0000); roundRect2.graphics.drawRoundRect(0, 0, 500, 333, 33); roundRect2.graphics.endFill(); addChild(roundRect2); _controlPanel.mask = roundRect2; //add control panel funtionality _controlButtons = new Array(_controlPanel.mStop, _controlPanel.mPlay, _controlPanel.mPause); for each (var controlButton:Sprite in _controlButtons) { controlButton.mouseChildren = false; controlButton.buttonMode = true; controlButton.useHandCursor = true; controlButton.addEventListener(MouseEvent.CLICK, buttonHandler, false, 0, true); controlButton.addEventListener(MouseEvent.MOUSE_OVER, buttonHandler, false, 0, true); controlButton.addEventListener(MouseEvent.MOUSE_OUT, buttonHandler, false, 0, true); } _controlPanel.mPlay.addEventListener(MouseEvent.CLICK, playHandler, false, 0, true); _controlPanel.mStop.addEventListener(MouseEvent.CLICK, stopHandler, false, 0, true); _controlPanel.mPause.addEventListener(MouseEvent.CLICK, pauseHandler, false, 0, true); controlPanelButtonInit(); }//setControlPanel private function bigButtonHandler(pEvent:Event):void { switch (pEvent.type) { case "click": _bigButton.visible = false; _flvController.startMedia(); _controlPanel.mPlay.gotoAndStop("Down"); _controlPanel.mStop.gotoAndStop("Up"); _controlPanel.mPause.gotoAndStop("Up"); _activeButton = "mPlay"; break; case "mouseOver": _bigButton.gotoAndStop("Down"); break; case "mouseOut": _bigButton.gotoAndStop("Up"); break; } }//bigButtonHandler private function buttonHandler(pEvent:Event):void { switch (pEvent.type) { case "click": //special case for pause if(_flvController.paused == true && pEvent.target.name == "mPause") { _controlPanel.mPause.gotoAndStop("Up"); _controlPanel.mPlay.gotoAndStop("Down"); _controlPanel.mStop.gotoAndStop("Up"); } else { for each (var controlButton:* in _controlButtons) { if(pEvent.target.name == controlButton.name) { controlButton.gotoAndStop("Down"); } else { controlButton.gotoAndStop("Up"); } } } break; case "mouseOver": pEvent.target.gotoAndStop("Down"); break; case "mouseOut": if(pEvent.target.currentLabel == "Down" && pEvent.target.name != _activeButton) { pEvent.target.gotoAndStop("Up"); } break; } }//buttonHandler private function controlPanelButtonInit():void { //initialize the button display _controlPanel.mPlay.gotoAndStop("Up"); _controlPanel.mStop.gotoAndStop("Down"); _controlPanel.mPause.gotoAndStop("Up"); _activeButton = "mStop"; }//controlPanelButtonInit private function mediaInit(pEvent:Event):void { trace("FLV init"); }//mediaInit private function mediaComplete(pEvent:MediaEvent):void { trace("FLV complete"); controlPanelButtonInit(); _bigButton.gotoAndStop("Up"); _bigButton.visible = true; }//mediaComplete private function playHandler(pEvent:MouseEvent):void { if(_flvController.playing == false) { _bigButton.visible = false; _flvController.startMedia(); _activeButton = "mPlay"; } }//playHandler private function stopHandler(pEvent:MouseEvent):void { _flvController.stopMedia(); _activeButton = "mStop"; controlPanelButtonInit(); _bigButton.gotoAndStop("Up"); _bigButton.visible = true; }//stopHandler private function pauseHandler(pEvent:MouseEvent):void { _flvController.pauseMedia(!_flvController.paused); _activeButton = "mPause"; }//pauseHandler }//class FLVQuickTest }//package