Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fafaf

Vídeoplayer com vários vídeos

Recommended Posts

Boa tarde a todos.Criei um videoplayer no flash usando um tuto que achei aqui no iMasters. Até aí legal.Só que coloquei vários vídeos para rodar nele. Cada frame é um vídeo. Para ir para um próximo frame usei um botão. Mas aí que está o problema:Eu executo o primeiro vídeo e fica legal, mas qdo uso o bt para ir para o próximo frame, está ficando a imagem do vídeo anterior na tela.Como posso limpar isso? Só falta isso para entregar ao cliente.Estou usando 5 layers (de baixo para cima) AS -> (stop()) controle -> camada onde ficam os botões (anterior e próximo) fundo -> camada da imagem do monitor player -> camada do videoplayer que foi criado. actions -> camada onde informo o controle do player e o nome do filme que será executado naquele frame.Desde já, obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, Eder. Exatamente isso.

Um keyframe para cada vídeo.

 

ACTIONSCRIPT
camada dos vídeos

//configuração do palco...

//não necessário, fica a gosto...

Stage.align = "MC";

Stage.scaleMode = "noScale";

fscommand("allowscale", "false");

fscommand("fullscreen", "false");

_quality = "BEST";

//iniciando projeto...

//declarando variáveis...

var display:Video;

var videoAtual:String = null;

var tempoAtual:Number = 0;

var isPlay:Boolean = false;

//botoes e mcs do player...

var btPlayPause:MovieClip;

var btStop:MovieClip;

//criando conexao do stream de video...

var netConVideo:NetConnection = new NetConnection();

netConVideo.connect(null);

//criando stream para ser usado na conexao...

var netStmVideo:NetStream = new NetStream(netConVideo);

//um pequeno buffer antes do filme começar...

netStmVideo.setBufferTime(0);

//objeto monitor de eventos do video...

netStmVideo.onStatus = function(info):Void

{

        //este if server para verificar se o filme ja acabou, rebobinando o mesmo...

        if(info.code == "NetStream.Buffer.Flush"){

                netStmVideo.play(videoAtual);

                stopVideo();

        }

}

//adicionando o stream ao nosso display no palco...

display.attachVideo(netStmVideo);

//função responsável por setar o video a ser carregado e tocado...

function setVideo(src:String):Void

{

        //caso o comando de tocar seja pra um video já sendo tocado, evita o recarregamento...

        if(videoAtual != src){

                netStmVideo.play(src);

                //salva numa var, o video atual para posterior verificação...

                videoAtual = src;

        } else {

                //neste caso o video atual e o mesmo do comando, assim só recomeça a tocar...

                netStmVideo.seek(0);

        }

        //configurando player para que esteja tocando...

        btPlayPause.gotoAndStop(2);

        isPlay = True;

}

//função responsável pelo Play/Pause do filme...

function PlayPause():Void

{

        //verifica se o video esta tocando, caso sim, pausa...

        if(isPlay){

                //salva o tempo atual para posterior continuação ao apertar em play...

                //esse menos 10 e para não haver corte e delay no tempo de apertar o botão...

                tempoAtual = netStmVideo.time - 10;

                netStmVideo.pause(true);

                isPlay = false;

        } else {

                //caso esteja parado continua a tocar da onde parou...

                isPlay = true;

                netStmVideo.pause(false);

        }

}

//função responsável pelo stop do filme...

function stopVideo():Void

{

        //resetando o tempo atual caso esteja em pause...

        tempoAtual = 0;

        netStmVideo.seek(0);

        netStmVideo.pause(true);

        isPlay = false;

        //joga o botão de play/pause para o frame do play...

        btPlayPause.gotoAndStop(1);

}

//setando ação dos botões...

btStop.onRelease = stopVideo;

btPlayPause.onRelease = function():Void

{

        //verifica a atual situação para dizer se deve aparecer o play ou pause...

        if(isPlay && this._currentframe == 2){

                this.gotoAndStop(1);

        } else {

                this.gotoAndStop(2);

        }

        //por fim damos load e play em nosso video...

        setVideo("Andarella5.flv");

        //ativando a função PlayPause()...

        PlayPause();

       

}

 

 

//e as camadas dos botões

on(release)

{

nextFrame();

}

 

 

 

isso ajuda?

Desde já, obrigada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.