topical media & game development

talk show tell print

#video-clips-tube-123-color.mx

#video-clips-tube-123-color.mx [swf] [flash] flex


  <?xml version="1.0" encoding="utf-8"?>
  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="hush()">
  
   
  <mx:String id="dispState" />
  <mx:Script>
   <![CDATA[
   
  // Cato Paus Skrede UmbrellaCorp DA http://www.umbrellacorp.no 
  
  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;
                              break;
                          default:
                              /* If not in full screen mode, switch to full screen mode. */
                              systemManager.stage.displayState = StageDisplayState.FULL_SCREEN;
                              break;
                      }
                  } catch (err:SecurityError) {
                      // ignore
                  }
    }
   
   [Bindable]
   private var movie:String;
   
   private function setSource():void{
    //movie = "http://stage.orchestra.it/x.flv"; // some dud dancing 16 min sample.
    movie = "../assets/clips/tube/123-color.flv";
    //movie = "http://www.youtube.com/v/@video";
   
    // 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:Script>
   
   <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"   
     dataTipFormatFunction="formatPositionToolTip"
     thumbPress="videoDisplay.pause()" slideDuration="0"
     thumbRelease="videoDisplay.play()"
     change="videoDisplay.playheadTime = position.value"
     value="{videoDisplay.playheadTime}"
     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="videoDisplay.play();" 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"
          text="tube" 
          color="#ffffff" right="25" top="0"/>
   
   </mx:Panel>
  
  </mx:Application>   
  


(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.