Ir para conteúdo

POWERED BY:

Arquivado

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

DanielD2

Última esperança

Recommended Posts

Boa noite Galera

 

Quem puder me ajudar eu agradeço de coração... é o seguinte criei uma classe de video mais simplesmente não consigo cancelar o download do video já tentei de tudo criar outro objeto por cima, pausar a classe NetStream com o metodo pause mais não vai, essa classe foi baseada no tutorial do marcelo Duende (http://www.marceloduende.com.br/blog/?p=17) quem souber usar o firebug do firefox vai ver que o flash não pausa o carregamento.

 

segue abaixo a classe.

 

package classes
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.MouseEvent;
import flash.events.NetStatusEvent;
import flash.media.SoundTransform;
import flash.geom.Rectangle;
import flash.display.LoaderInfo;
import flash.text.TextField;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.media.Video;
import flash.events.ProgressEvent;

public class ClasseVideo extends MovieClip
{
	//--> Video |------------------------------------------------------------
	private var MeuVideo:Video;
	//--> conexão |----------------------------------------------------------
	private var netConnection:NetConnection;
	private var netStream:NetStream;
	//--> Som |--------------------------------------------------------------
	private var somTransform:SoundTransform = new SoundTransform();			
	//--> variaveis da classe |----------------------------------------------
	private var duracao:int = 15000;
	private var tempoAtual:Number;
	private var volumeSom:Number = 1;
	private var urlCaminho:String  = new String();
	private var videoPropriedades:Object;
	private var videoMc:MovieClip;
	private var qualFuncaoCompleto:Function;
	private var porcentagemCarregador:Number;
	private var tempoCorrenteTemp:Array;
	private var proporcao:Number;
	//--> insere Controle |--------------------------------------------------
	private var botaoPlay:MovieClip;
	private var botaoStop:MovieClip;
	private var botaoVolume:MovieClip;
	private var botaoDrag:MovieClip;
	private var controlesAtivos:Boolean = false;
	private var mascaraProgresso:MovieClip;
	private var barraProgresso:MovieClip;
	//----------------------------------------------------------------------------
	private var tamWVideo:Number;
	private var tamHVideo:Number;
	private var tamWStage:Number;
	private var tamHStage:Number;
	public function ClasseVideo(_urlCaminho:String, _videoMc:MovieClip, _tempoBuffer:uint = 5):void
	{				
		urlCaminho = _urlCaminho;
		videoMc = _videoMc
		MeuVideo = new Video();
		netConnection = new NetConnection()
		netConnection.connect(null);
		netStream = new NetStream(netConnection);
		netStream.bufferTime = _tempoBuffer;
		netStream.play(urlCaminho);
		netStream.seek(0);			
		netStream.pause();

		videoPropriedades = {onMetaData:propriedades};
		netStream.client = videoPropriedades;
		netStream.soundTransform = somTransform;					
		videoMc.addChild(MeuVideo);
		MeuVideo.name = "repositorioVideo";
		MeuVideo.alpha = 0;			
		MeuVideo.attachNetStream(netStream);
		netStream.addEventListener(NetStatusEvent.NET_STATUS, videoStatus);	
		somTransform.volume = 1;
		videoMc.addEventListener(Event.ENTER_FRAME, progressoCarregamento);
	}
	private function videoStatus(_evt:NetStatusEvent):void 
	{
		tamHStage = MovieClip(videoMc.loaderInfo.content).stage.stageHeight;
		tamWStage = MovieClip(videoMc.loaderInfo.content).stage.stageWidth;			
		proporcao = tamHVideo/tamWVideo;
		MeuVideo.width = tamWStage
		MeuVideo.height = tamWStage*proporcao;
	}
	private function propriedades(infoVideo:Object):void 
	{
		/*for (var name:String in infoVideo) 
		{
			//trace(name)
		}*/
		tamHVideo = infoVideo.height;
		tamWVideo = infoVideo.width;
		duracao = infoVideo.duration;
		MovieClip(videoMc).stage.addEventListener(Event.RESIZE, chamaAdapta);			
		tamHStage = MovieClip(videoMc.loaderInfo.content).stage.stageHeight-60;
		tamWStage = MovieClip(videoMc.loaderInfo.content).stage.stageWidth;			
		proporcao = tamHVideo/tamWVideo;
		MeuVideo.width = tamWStage
		MeuVideo.height = tamWStage*proporcao;
		if(MeuVideo.height < tamHStage)
		{
			MeuVideo.y = (tamHStage/2)-(MeuVideo.height/2);
		}else
		{
			MeuVideo.y = 0;
		}			
	}

	//--> carregamento video |-------------------------------------------------------------------
	private function progressoCarregamento(_evt:Event):void
	{
       	porcentagemCarregador = (netStream.bytesLoaded /netStream.bytesTotal);
		if(netStream.bytesLoaded == netStream.bytesTotal)
		{
			videoCarregado();
			videoMc.removeEventListener(Event.ENTER_FRAME, progressoCarregamento);				
		}
	}
	public function get porcentagemLoad():Number
	{
       	return porcentagemCarregador;	
       }
	public function set funcaoCompleta(_qualFuncao:Function):void
	{
       	qualFuncaoCompleto = _qualFuncao;
	}

	private function videoCarregado():void
	{
		iniciaVideo();
		if(qualFuncaoCompleto != null)
		{
			qualFuncaoCompleto();
		}			
       }

	//--> inicio da função play/pause |----------------------------------------------------------		
	public function iniciaVideo():void
	{			
		if (botaoPlay.botaoAtivo == false) 
		{
			MeuVideo.alpha = 1;
			netStream.resume();
			botaoPlay.botaoAtivo = true;
		}else
		{
			pausa();
		}
	}
	public function pausa():void
	{			
		netStream.pause();
		tempoAtual = netStream.time;
		botaoPlay.botaoAtivo = false;			
	}

	//--> inicio da função stop |----------------------------------------------------------		
	public function paraVideo():void
	{
		if (botaoStop.botaoAtivo == true)
		{
			netStream.pause();
			netStream.seek(0);
			if(botaoPlay != null)
			{
				botaoPlay.botaoAtivo = false;
			}
		}
	}

	//--> inicio da função de volume |----------------------------------------------------------		
	public function ajustaVolume():void
	{
		if (botaoVolume.botaoAtivo == false) 
		{
			addEventListener(Event.ENTER_FRAME, FadeVolume);
			botaoVolume.botaoAtivo = true;
		} else {
			addEventListener(Event.ENTER_FRAME, FadeVolume);
			botaoVolume.botaoAtivo = false;
		}
	}

	private function FadeVolume(_evt:Event):void
	{
		if (botaoVolume.botaoAtivo == true) 
		{
			volumeSom -= 0.1;
			if (volumeSom <= 0)
			{
				volumeSom = 0;
				removeEventListener(Event.ENTER_FRAME, FadeVolume);
			}				
		} else {
			volumeSom += 0.1;
			if (volumeSom >= 1)
			{
				volumeSom = 1;
				removeEventListener(Event.ENTER_FRAME, FadeVolume);
			}
		}
		somTransform.volume = volumeSom;
		netStream.soundTransform = somTransform;
	}


	//--> inicio da função de tempo (drag) |----------------------------------------------------------

	public function get tempoVideo():Array
	{
		tempoAtual = netStream.time;
		tempoCorrenteTemp = new Array(int(tempoAtual/60),((tempoAtual%60) < 10)?"0"+(tempoAtual%60):(tempoAtual%60),tempoAtual);
		return tempoCorrenteTemp;
	}		
	public function get tempoTotalVideo():int
	{
		return duracao;
	}	

	public function insereControle(_botaoPlay:MovieClip, _botaoStop:MovieClip, _botaoVolume:MovieClip = null, _botaoDrag:MovieClip = null, _mascaraProgresso:MovieClip = null, _barraProgresso:MovieClip = null):void
	{
		controlesAtivos = true;
		botaoPlay = _botaoPlay;
		botaoStop = _botaoStop;
		botaoVolume = _botaoVolume;
		botaoDrag = _botaoDrag;
		mascaraProgresso = _mascaraProgresso;
		barraProgresso = _barraProgresso;
		if(botaoPlay != null)
		{				
			botaoPlay.botaoAtivo = false;
		}
		if(botaoStop != null)
		{
			botaoStop.botaoAtivo = true;
		}
		if(botaoVolume != null)
		{
			botaoVolume.botaoAtivo = false;
		}			
		if(botaoDrag != null)
		{
			botaoDrag.botaoAtivo = false;				
		}		
	}
	private function chamaAdapta(evt:Event):void
	{
		//trace("chamaAdapta!!", urlCaminho,videoMc.name);			
		tamHStage = MovieClip(videoMc.loaderInfo.content).stage.stageHeight-60;
		tamWStage = MovieClip(videoMc.loaderInfo.content).stage.stageWidth;			
		proporcao = tamHVideo/tamWVideo;
		MeuVideo.width = tamWStage
		MeuVideo.height = tamWStage*proporcao;
		if(MeuVideo.height < tamHStage)
		{
			MeuVideo.y = (tamHStage/2)-(MeuVideo.height/2);
		}else
		{
			MeuVideo.y = 0;
			proporcao = tamWVideo/tamHVideo;
			MeuVideo.width = tamHStage*proporcao;
			MeuVideo.height = tamHStage;
			if(MeuVideo.width < tamWStage)
			{
				MeuVideo.x = (tamWStage/2)-(MeuVideo.width/2);
			}				
		}			
	}

	public function cancelaOuvintes():void
	{

		MovieClip(videoMc).removeEventListener(Event.RESIZE, chamaAdapta);
		if(MeuVideo != null && MovieClip(videoMc).contains(MeuVideo))
		{
      			MovieClip(videoMc).removeChild(MeuVideo);
  			}	

	}
}	
}

 

valew pessoall

 

Daniel D2

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.