DanielD2 0 Denunciar post Postado Janeiro 14, 2011 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
Irineu Antunes 2 Denunciar post Postado Janeiro 17, 2011 Daniel, experimente usar o BulkLoader para carregar o vídeo Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Janeiro 18, 2011 percebi que em nenhum lugar do código, você chamou o netStream.close(); coloca ele para ver []´s Compartilhar este post Link para o post Compartilhar em outros sites