/* * VideoViewer Engine * Author : Thomas Lebrun */ package VideoViewer{ /* flash packages */ import flash.external.ExternalInterface; import flash.ui.ContextMenu; import flash.ui.ContextMenuItem;   ; import flash.events.ContextMenuEvent;   ; import flash.net.navigateToURL;   ; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFormat; /* FLVPlayback packages */ import fl.video.FLVPlayback; import fl.video.VideoEvent; /* webcast subclasses */ public class VideoViewerEngine { /* * variables */ private var myParent:*; private var myPlayer:FLVPlayback; private var myParams:Object; private var myMenu:ContextMenu; /* default vars */ private var _defSkin:String='../scripts/SkinOverPlayStopSeekMuteVol.swf'; private var _defSkinAlpha:Number=0.8; private var _defSkinColor:uint=0x5a50bf; private var _movieFolder:String='../film/'; /* * constructor * @param mixed parent */ public function VideoViewerEngine(parent:*) { /* set myParent value */ myParent=parent; /* get parameters */ var myMovie:String = myParent.loaderInfo.parameters['movie']; var myLoop:uint = myParent.loaderInfo.parameters['loop']; var myAuto:uint = myParent.loaderInfo.parameters['auto']; /* update menus */ myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); get_root().contextMenu = myMenu; /* get FLVPlayBack object */ myPlayer = get_root().player; /* set flv playback params */ myPlayer.bufferTime = 0.1; myPlayer.scaleMode = 'MAINTAIN_ASPECT_RATIO'; myPlayer.x = 0; myPlayer.y = 0; /* set flv playback loop param */ if (myLoop == true) { myPlayer.addEventListener(VideoEvent.COMPLETE, movieLoopHandler); } /* set flv playback autoPlay param */ if (myAuto == true) { myPlayer.play(_movieFolder+myMovie); } else { myPlayer.load(_movieFolder+myMovie); } /* set flv playback skin params */ myPlayer.skin = _defSkin; myPlayer.skinBackgroundAlpha = _defSkinAlpha; myPlayer.skinBackgroundColor = _defSkinColor; } /* * movie control : rewind * @return void * @access public */ public function movie_rewind():void { myPlayer.seek(0); } /* * movie control : rewind * @return void * @access public */ public function movie_play():void { myPlayer.play(); } /* * movie control : rewind * @return void * @access public */ public function movie_stop():void { myPlayer.stop(); } /* * recieve loop handler * @return void * @access public */ public function movieLoopHandler(event:VideoEvent):void { movie_rewind(); movie_play(); } /* GENERIC TOOL METHODS */ /* * return root object * @return mixed * @access public */ public function get_root():* { return myParent; } /* GENERIC DEBUG METHODS */ /* * throw an alert to javascript * @param String msg * @return void * @access public */ public function send_JSAlert(msg:String):void { ExternalInterface.call("alert",msg); } } }