Hi all,
here is my code for flv player..
Flv gets loaded but it does not play at all..
can any Plz tell me what i am doing wrong....




<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml"; width="100%"
height="100%"
    xmlns:controls="com.fxcomponents.controls.*" creationComplete="init()"
    verticalScrollPolicy="off" horizontalScrollPolicy="off"
     xmlns:view="ms.imfusion.util.view.*"
     borderColor="#9C9C9C">
    <mx:Script>
        <![CDATA[
            import mx.core.Application;
        import mx.controls.videoClasses.VideoError;
        import mx.events.MetadataEvent;

        import mx.events.VideoEvent;
        import flash.events.ProgressEvent;
        import mx.events.SliderEvent;

        private var thumbHookedToPlayhead:Boolean = true;
        private var flo:Boolean = true;
        private var volumeBeforeMute:Number = 0;
        private var fullScreen:Boolean;
        private var metaData:Object = {duration:0};
        private var percentage:Number;

      *  public function setFlv(flvulr:String):void
        {

            videoDisplay.source = flvulr;
            //videoDisplay.source = 'video.flv'
        }
        *
        public function init():void
        {
            videoDisplay.addEventListener(MetadataEvent.METADATA_RECEIVED,
onMetadataReceived);
            videoDisplay.addEventListener(ProgressEvent.PROGRESS,
onProgress);
            videoDisplay.addEventListener(VideoEvent.PLAYHEAD_UPDATE,
onPlayheadUpdate);
            videoDisplay.addEventListener(VideoEvent.STATE_CHANGE,
onStateChange);
            videoDisplay.addEventListener(VideoEvent.COMPLETE, onComplete);
            videoDisplay.addEventListener(VideoEvent.READY, onReady)

            progresSlider.addEventListener(SliderEvent.CHANGE,
playhead_onChange);
            progresSlider.addEventListener(SliderEvent.THUMB_PRESS,
onThumbPress);
            progresSlider.addEventListener(SliderEvent.THUMB_RELEASE,
onThumbRelease);

            volumeSlider.addEventListener(SliderEvent.CHANGE,
volume_onChange);

            play_pause.addEventListener(MouseEvent.CLICK, pp_onClick);
            volume_btn.addEventListener(MouseEvent.CLICK, volume_onClick);
            fullScreenBtn.addEventListener(MouseEvent.CLICK,
fullScreen_onClick);
        }

        private function error():void
        {

        }



        private function onMetadataReceived(event:MetadataEvent):void
        {
            trace('onMetadataReceived :: ' );
            metaData = event.info;
            percentage = metaData.width / metaData.height;
            progresSlider.maximum = Math.round(videoDisplay.totalTime);
            trace("totalTime: "+ videoDisplay.totalTime);
            videoDisplay.play();
        }


        private function onProgress(event:ProgressEvent):void
        {
            trace('onProgress :: ' );
            var loadProgress:Number =
Math.floor(event.bytesLoaded/event.bytesTotal*100);
            //progresSlider.progress = loadProgress;
        }

        private function onPlayheadUpdate(event:VideoEvent):void
        {
            trace('onPlayheadUpdate ')

            if(thumbHookedToPlayhead)
            {
                trace('onPlayheadUpdate :: thumbHookedToPlayhead :: ' +
thumbHookedToPlayhead)
                progresSlider.value = Math.round(event.playheadTime);

            }

            else
            {
                trace('onPlayheadUpdate :: thumbHookedToPlayhead :: ' +
thumbHookedToPlayhead + "flo :: " + flo)
                play_pause.selected = true;
                videoDisplay.pause();
            }

        }

        private function onStateChange(event:VideoEvent):void
        {
            //trace("state: "+event.state+" : "+event.stateResponsive);

            if(event.state == VideoEvent.CONNECTION_ERROR)
            {
                //timerTextField.text = "Conn Error";
            }
        }

        private function onComplete(event:VideoEvent):void
        {
            trace('onComplete :: ')
            play_pause.selected = true;
            videoDisplay.pause();
        }

        private function onReady(event:VideoEvent):void
        {
            progresSlider.maximum = Math.round(videoDisplay.totalTime);
            videoDisplay.play();
            trace('onReady :: ');
        }

        private function playhead_onChange(event:SliderEvent):void
        {
            try{
                trace('playhead_onChange :: ');
                thumbHookedToPlayhead = true;
                videoDisplay.playheadTime = event.currentTarget.value;
                videoDisplay.play();
            }catch(e:Error)
            {

            }

        }

        /** SliderEvent */

        private function onThumbPress(event:SliderEvent):void
        {
            thumbHookedToPlayhead = false;
        }

        private function onThumbRelease(event:SliderEvent):void
        {
            thumbHookedToPlayhead = true;
        }

        private function volume_onChange(event:SliderEvent):void
        {
            videoDisplay.volume = event.currentTarget.value/100;
        }

        private function pp_onClick(event:MouseEvent):void
        {

            if(play_pause.selected)
            {
                try{
                    videoDisplay.pause();
                }catch(e:Error){

                }

            }
            else
            {
                try{
                    videoDisplay.play();
                }catch(e:Error){
                    trace('Error in playing')
                }
            }
        }

        private function volume_onClick(event:MouseEvent):void
        {
            if(videoDisplay.volume == 0)
            {
                videoDisplay.volume = volumeSlider.value = volumeBeforeMute;
            }
            else
            {
                volumeBeforeMute = videoDisplay.volume;
                videoDisplay.volume = volumeSlider.value = 0;
            }
        }

        private function fullScreen_onClick(event:MouseEvent):void
        {
            trace('stage.displayState :: ' + stage.displayState)
                if(this.stage.displayState  == "fullScreen" ||
stage.displayState == null){
                        trace('stage.displayState :: normal' )
                           this.stage.displayState =
StageDisplayState.NORMAL
                 }
                 else{
                           this.stage.displayState  =
StageDisplayState.FULL_SCREEN
                 }
                trace('stage.displayState :: ' + stage.displayState)

        }



        ]]>
    </mx:Script>
    <mx:VBox height="100%" width="100%" verticalScrollPolicy="off"
horizontalScrollPolicy="off"  verticalGap="0">
        <mx:VideoDisplay height="100%" width="100%" id="videoDisplay"
autoPlay="true"  />
        <mx:HBox horizontalCenter="0" verticalScrollPolicy="off"
horizontalScrollPolicy="off"
            width="100%"  horizontalGap="2" paddingLeft="5" paddingRight="5"
dropShadowEnabled="true"
            styleName="progressPlayerSkin" height="35" paddingTop="5">
            <mx:Button toggle="true" id="play_pause"  toolTip="Play/Pause"
styleName="playerPlaying" buttonMode="true" height="23"/>
            <mx:HSlider id="progresSlider" minWidth="30"
styleName="PlayerProgressHSlider" maximum="100" minimum="0"
             width="100%"  showTrackHighlight="true"   y="-9"
toolTip="Progress"
              sliderThumbClass=" ms.imfusion.util.view.BigThumbClass"
x="3"/>

            <mx:Button id="volume_btn" width="20" toolTip="Mute/Unmute"
styleName="playervolume" height="23"/>
            <mx:HSlider id="volumeSlider" width="50" toolTip="Volume"
maximum="100" minimum="0" showTrackHighlight="true" themeColor="#ff0000"/>
            <mx:Button id='fullScreenBtn'  toolTip="fullScreen"
styleName="playerfullScreen" height="23"/>
        </mx:HBox>
    </mx:VBox>
    <!--<mx:Button click="setFlv('video.flv')"/> -->
    <!--<controls:FXVideo width="300" height="100%" autoPlay="true"
bufferTime="0"  id="player2" controlBarHeight="25"  />-->

</mx:Panel>



Calling the function setFlv('video.flv') load the flv but does not play
it...
Can somebody please help

Reply via email to