Monday, October 27, 2008

Video Player with Fullscreen,play,pause,stop,mute,volume,progress

?xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" cornerRadius="14" backgroundAlpha="0" width="100%" height="100%">
mx:Script source="ascript.as" />
mx:ArrayCollection id="playlist">
mx:String>videos/AdobeBand_640.flv
mx:String>videos/phone.flv
mx:String>videos/sample.flv
mx:ArrayCollection>
mx:Style source="new.css"/>
mx:HBox >
mx:VideoDisplay id="videoDisplay"
width="260"
height="220"
playheadUpdate="changeProgressBar()"
volume="{volumesl.value}"
complete="reply()"
doubleClickEnabled="true"
doubleClick="makeFullScreen()" />
mx:List id="mylist"
dataProvider="{playlist}"
click="loadButton_list(event)"
dropEnabled="true"
dragEnabled="true"
height="100%"/>
mx:HBox>
mx:HSlider id="progress"
thumbSkin="@Embed(source='skins/thumb.png')"
showTrackHighlight="true"
slideEasingFunction="undefined"
liveDragging="false"
tickColor="black"
trackSkin="@Embed(source='skins/prg.png')"
width="{videoDisplay.width}"/>
mx:ControlBar>
mx:Button id="loadButton"
styleName="Play"
toggle="true"
click="plyBtn(event);" />
mx:Button id="unloadButton"
styleName="Stop"
toggle="true"
click="unloadButton_click(event);" />
mx:HSlider id="volumesl"
minimum="0"
maximum="1"
width="75"
snapInterval="0.1"
allowTrackClick="true"
trackSkin="@Embed(source='skins/vol.png')"
change="volchange()"
thumbSkin="@Embed(source='skins/thumb.png')" />
mx:Button id="fs"
styleName="Fscreen"
toggle="true"
click="makeFullScreen()"/>
mx:Button id="mute"
toggle="true"
styleName="Mute" width="34"
click="SoundOff()"/>
mx:ControlBar>
mx:Application>

ascript.as
----------
import flash.events.*;
public static var vol:int;
private function reply():void
{
videoDisplay.play();
SoundOff();
}
public function loadButton_click(evt:MouseEvent):void
{
volumesl.value=vol;
var url:String =mylist.selectedItem.toString();
videoDisplay.source = url;
vol=volumesl.value;
if (loadButton.selected )
{

videoDisplay.play();
vol=volumesl.value;
}
else
{
videoDisplay.pause();
}
}
public function plyBtn(evt1:MouseEvent):void
{
volumesl.value=vol;
videoDisplay.source = "videos/sample.flv";
vol=volumesl.value;
if (loadButton.selected )
{
videoDisplay.play();
vol=volumesl.value;
}
else
{
videoDisplay.pause();
}
}
public function loadButton_list(evt:MouseEvent):void
{
var url:String =mylist.selectedItem.toString();
videoDisplay.source = url;
var i:int=videoDisplay.source.length;
progress.minimum=0;
progress.maximum=i;
videoDisplay.play();
}
public function SoundOff():void
{
if (mute.selected)
{
videoDisplay.volume=0;
}
else
{
videoDisplay.volume=volumesl.value;
}
}
public function volchange():void
{
vol=volumesl.value;
mute.selected=false;
}
private function unloadButton_click(evt:MouseEvent):void
{
videoDisplay.close();
videoDisplay.source = null;
videoDisplay.mx_internal::videoPlayer.clear();
videoDisplay.volume=0;
progress.value=0;
loadButton.selected=false;
}
private function changeProgressBar(): void
{
progress.value = videoDisplay.playheadTime
}
private function makeFullScreen():void
{
fs.enabled="false";
if(stage.displayState == StageDisplayState.FULL_SCREEN)
{
stage.displayState = StageDisplayState.NORMAL
videoDisplay.width=260;
videoDisplay.height=220;
}
else
{
stage.displayState = StageDisplayState.FULL_SCREEN
videoDisplay.width=810;
videoDisplay.height=590;
}

}

new.css
-------

Canvas
{
borderThicknessLeft: 14;
borderThicknessRight: 14;
borderThicknessTop: 2;
borderThicknessBottom: 12;
headerHeight: 28;
backgroundAlpha: 0;
cornerRadius: 28;
titleStyleName: "mypanelTitle";
roundedBottomCorners: true;
backgroundAlpha: 0;
highlightAlphas: 0, 0;

}
.Play
{
skin:Embed(source='skins/play.png');
over-skin : Embed('skins/play pushed.png');
downSkin: Embed('skins/pause hot.png');
selectedUpSkin: Embed('skins/pause hot.png');
selectedOverSkin: Embed('skins/pause pushed.png');
selectedDownSkin: Embed('skins/play.png');
}
.Play1
{
skin:Embed(source='skins/play.png');
}
.Mute
{
skin:Embed(source="skins/sound1.png");
over-skin : Embed('skins/sound2.png');
selected-up-skin:Embed('skins/sound3.png');
down-skin:Embed('skins/sound3.png');
}
.Stop
{
skin:Embed(source='skins/stop hot.png');
over-skin : Embed('skins/stop pushed.png');
}
.Fscreen
{
skin:Embed(source='skins/FS.png');
}


/* CSS file */

2 comments:

Tenth Planet Technology said...

please rearrange your code

Tenth Planet Technology said...

please rearrange your code by www.richapplication.com