topical media & game development

talk show tell print [swf] [flash] flex

  <?xml version="1.0" encoding="utf-8"?>
  <mx:Application xmlns:mx="" layout="absolute" applicationComplete="hush()">
  <mx:String id="dispState" />
  // Cato Paus Skrede UmbrellaCorp DA 
  import flash.display.StageDisplayState;
  import mx.managers.SystemManager;
  private function hush():void {
                  /* Set up full screen handler. */
                  systemManager.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler);
                  dispState = systemManager.stage.displayState;
   private function fullScreenHandler(evt:FullScreenEvent):void {
                  dispState = systemManager.stage.displayState + " (fullScreen=" + evt.fullScreen.toString() + ")";
                  if (evt.fullScreen) {
                      /* Do something specific here if we switched to full screen mode. */
                  } else {
                      /* Do something specific here if we switched to normal mode. */
     private function toggleFullScreen():void {
                  try {
                      switch (systemManager.stage.displayState) {
                          case StageDisplayState.FULL_SCREEN:
                              /* If already in full screen mode, switch to normal mode. */
                              systemManager.stage.displayState = StageDisplayState.NORMAL;
                              /* If not in full screen mode, switch to full screen mode. */
                              systemManager.stage.displayState = StageDisplayState.FULL_SCREEN;
                  } catch (err:SecurityError) {
                      // ignore
   private var movie:String;
   private function setSource():void{
    //movie = ""; // some dud dancing 16 min sample.
    movie = "../assets/clips/tube/123-color.flv";
    //movie = "";
    // the url of the FLV ver. 1.1 do contains the metaData for totalTime FLV ver 1.0 do's NOT.
    /* if you type the url into VideoDisplay.source and use autoplay it starts to play in design mode
       that's realy annoying.*/
   private function formatPositionToolTip(value:int):String{
    //  do only handle minuts.
    var result:String = (value % 60).toString();
          if (result.length == 1){
              result = Math.floor(value / 60).toString() + ":0" + result;
          } else {
              result = Math.floor(value / 60).toString() + ":" + result;
          return result;
   <mx:Panel layout="absolute" width="100%" height="100%"
    headerHeight="0" cornerRadius="2" borderStyle="solid" borderThickness="0"
    borderThicknessBottom="0" borderThicknessLeft="0" borderThicknessRight="0"
    borderThicknessTop="0" backgroundColor="#000000">
    <mx:VideoDisplay id="videoDisplay"  source="{movie}" width="100%" height="100%" left="0" top="0" right="0"/>
    <mx:ProgressBar id="loadProgress" label="" mode="event" barColor="#00ff00"
     minimum="0" maximum="100" bottom="55" height="5"
     source="{videoDisplay}" trackHeight="3" trackColors="[#00ff00, #e6eeee]" left="10" right="10"/>
    <mx:HSlider id="position" height="5"   
     thumbPress="videoDisplay.pause()" slideDuration="0"
     change="videoDisplay.playheadTime = position.value"
     minimum="0" maximum="{videoDisplay.totalTime}" left="4" right="4" bottom="62"/> 
    <mx:Button label="f/v" click="toggleFullScreen()" bottom="10" x="10" right="20" />
    <mx:Button click="setSource()" label="start" cornerRadius="0" bottom="10" x="10" right="80"/>
    <mx:Button label="play" click=";" cornerRadius="0" bottom="10" x="10" left="10"/>
          <mx:Button label="pause" click="videoDisplay.pause();" cornerRadius="0" bottom="10" left="69"/>
          <mx:Button label="stop" click="videoDisplay.stop();" cornerRadius="0" left="138" bottom="10"/>
          <mx:HSlider id="volume" snapInterval="0.01" value="0.5" maximum="1.0"
     change="videoDisplay.volume = volume.value;" 
     liveDragging="true" height="20" left="220" bottom="20" width="154"/>
          <mx:Label styleName="playheadTimeLabel"
           text="media @ VU:  [{formatPositionToolTip(videoDisplay.playheadTime)} - {formatPositionToolTip(videoDisplay.totalTime)}]"
           color="#ffffff" left="5" top="0"/>
          <mx:Label styleName="playheadTimeLabel"
          color="#ffffff" right="25" top="0"/>

(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.