topical media & game development
#video-clips-tube-china-games.mx
#video-clips-tube-china-games.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/china-games.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.