Fonte do video display


<mx:VideoDisplay   volume="{volumeSliderConferencia.value}"
autoPlay="false" live="true" x="10" y="0" id="videoPlayerConferencia"
width="352" height="240" backgroundColor="#965252"
maintainAspectRatio="false" borderStyle="solid" borderThickness="6"
borderColor="#A9A4A4"/>
                                <mx:ApplicationControlBar width="352" 
id="controlMenu" top="240"
left="10" fillAlphas="[1.0, 1.0]" fillColors="[#FDFBFB, #767474]"
themeColor="#000000" alpha="0.42" color="#050606">
                                        <mx:Button 
id="confVideoPlayPauseButton" />
                                        <mx:Label text="status: 
{videoPlayerConferencia.state}"/>
                                                <mx:Spacer width="100%"/>
                                        <mx:Image width="16" height="16" 
source="icones/
VolumeNormalRed.png"/>
                                        <mx:HSlider 
id="volumeSliderConferencia" liveDragging="true"
value=".75" minimum="0" maximum="1" height="34" width="72"/>
                                </mx:ApplicationControlBar>
                                <mx:Canvas x="10" y="233" width="352" 
height="9" alpha="1.0"
backgroundAlpha="1.0" backgroundColor="#A9A4A4" borderColor="#A9A4A4"
borderStyle="solid">
                                </mx:Canvas>
                                <mx:HDividedBox left="370" right="10" top="0" 
bottom="10">
                                        <mx:Panel layout="absolute" 
title="Chat" width="80%"
height="100%" borderColor="#A9A4A4">
                                                <mx:TextArea id="messageArea" 
wordWrap="true" editable="false"
enabled="true" left="0" right="0" bottom="41" top="0"
borderStyle="none"/>
                                                <mx:TextInput left="4" 
bottom="3" right="73" fontSize="12"
borderStyle="inset" id="sendMessageInput" text="Olá !"/>
                                                <mx:Button label="Enviar" 
right="4" bottom="5"
id="confSendButton" click="sendMessage()"/>
                                        </mx:Panel>
                                </mx:HDividedBox>
                                <mx:Panel layout="absolute" id="usuario" 
title="Usuários"
width="352" left="10" top="293" bottom="10" borderColor="#A9A4A4">
                                        <mx:List id="usersList" 
borderStyle="none" left="10" top="0"
bottom="0" right="0"/>
                                </mx:Panel>



// ActionScript file que controla a videodisplay

import flash.events.MouseEvent;

import mx.events.VideoEvent;
import mx.formatters.DateFormatter;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.mxml.HTTPService;

private var videoLength:String;
private var start:Date;
private var timeDisplayFormatter:DateFormatter;
private var seekTo:Number;

private var playlist:XMLList;
private var playlistCursor:uint;

[Bindable]
private var videoFileTotalBytes:Number;


public function stopGaleria():void{
        if(myVideoDisplay.playing){
                        myVideoDisplay.pause();
        }

}
public function startGaleria():void{
        videoFileTotalBytes = this.myVideoDisplay.bytesTotal;
        start = new Date("1/1/2000");
        timeDisplayFormatter = new DateFormatter();

        this.myVideoDisplay.addEventListener(VideoEvent.READY, videoReady);
        this.myVideoDisplay.addEventListener(VideoEvent.COMPLETE,
videoComplete);
        this.myVideoDisplay.addEventListener(VideoEvent.PLAYHEAD_UPDATE,
updateTimeDisplay);

        this.btn_next.addEventListener(MouseEvent.CLICK,
playlistControlsHandler);
        this.btn_previous.addEventListener(MouseEvent.CLICK,
playlistControlsHandler);
        btn_playToggle.addEventListener(MouseEvent.CLICK,togglePlayback);
        btn_stopToggle.addEventListener(MouseEvent.CLICK,toogleStop);

        loadPlaylist();
}

private function playlistControlsHandler(event:MouseEvent):void{
        switch(event.currentTarget.label){
                case 'Next':
                        if(playlistCursor<playlist.length() -1){
                                if(myVideoDisplay.playing){
                                        myVideoDisplay.pause();
                                }
                                this.myVideoDisplay.playheadTime = 0;
                                playlistCursor ++;
                                playVideo();
                        }
                        break;
                case 'Prev':
                        if(playlistCursor - 1>=0){
                           if(myVideoDisplay.playing){
                                        myVideoDisplay.pause();
                                }
                                this.myVideoDisplay.playheadTime = 0;
                                playlistCursor --;
                                playVideo();
                        }
                        break;
                default:
                        break;
        }
}

private function loadPlaylist():void{

        playlistCursor = 0;
        var playlistService:HTTPService = new HTTPService();
        playlistService.url = "galeria/playlist.xml";
        playlistService.resultFormat = "xml";
        playlistService.showBusyCursor = true;
        playlistService.addEventListener(ResultEvent.RESULT,
onPlaylistResult);
        playlistService.addEventListener(FaultEvent.FAULT, onFault);
        playlistService.send();
}

private function onPlaylistResult(event:ResultEvent):void{
        var resultXML:XML = new XML(event.result);
        playlist = new XMLList(resultXML.video);
        playVideo();
}

private function playVideo():void{
        this.myVideoDisplay.source= this.playlist[playlistcurso...@file;
}

private function onFault(event:FaultEvent):void{
 trace(event.fault);
}
private function toogleStop(event:MouseEvent):void{
        this.myVideoDisplay.stop();
}
private function togglePlayback(event:MouseEvent):void{
        if(this.myVideoDisplay.playing){
                this.myVideoDisplay.pause();
        }else if(this.myVideoDisplay.source){
                this.myVideoDisplay.play();
        }
}

private function videoComplete(event:VideoEvent):void{
        if(this.playlistCursor< this.playlist.length() -1){
                this.myVideoDisplay.playheadTime = 0;
                this.playlistCursor ++;
                this.playVideo();
        }
}

private function videoReady(event:VideoEvent):void{
        timeDisplayFormatter.formatString = "J:NN:SS";
        var totalTime:Date = new Date(start.getTime() +
(this.myVideoDisplay.totalTime * 1000));
        this.videoLength = timeDisplayFormatter.format(totalTime);
}

private function updateTimeDisplay(event:VideoEvent):void{
        timeDisplayFormatter.formatString = "N:SS";
        var currentTime:Date = new Date(start.getTime()+ (event.playheadTime
* 1000));
        tf_playtimeDisplay.text = timeDisplayFormatter.format(currentTime) +
"/" + this.videoLength;
}



Ta ai, o fonte primeiro o mxml com o player, e abaixo o actionscript
que trata o player.

Alguns fatos interessantes.

Se eu limpo o cache do meu navegador, o sistema funciona direitinho.
Se eu rodo o sistema, algumas vezes ele da erro outras não, isto sem
eu mexer no codigo.



On 26 fev, 10:39, Chacal Army <andredeiv...@gmail.com> wrote:
> tem como colocar seu fonte?
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a