Donando 1 Denunciar post Postado Setembro 28, 2009 Olá Amigos, sou novato em actionscript. Os tuturiais e topicos do imasters tem me ajudado muito a aprender e resolver problemas no desenvolvimento de meus sites. Melhor forma de se aprender para um autodidata como eu. Parabens Imasters. Li diversos posts e tutorias, mas não estou resolvendo meu problema. Estou desenvolvendo um site que terá vídeos. Estou importando o videos .mov, tornando os .flv e utilizando o flvplayback. o problema é que alguns vídeos são muito grandes e travam quando o usuário tem internet mais lenta. Gostaria de utilizar algum "preload" para carregar o vídeo antes dele começar, resolvendo assim o problema de travar. tentei adaptar o script abaixo mas não consegui. total = this.getBytesTotal(); carregado = this.getBytesLoaded(); if (carregado < total) { gotoAndPlay(2); } Alguem poderira me ajudar? como devo proceder? o caminho é por ai? Muito Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 28, 2009 O caminho é por ai mesmo... Só que você tem que por essa ação com um evento de load né Assim vai funcionar pra pegar os valores... Sem o load não funciona ;) Ou um onEnterFrame Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Donando 1 Denunciar post Postado Setembro 29, 2009 obrigado Berseck, mas não estou conseguindo neste caminho. Consegui pelo help do flash um outro caminho. var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); video.attachVideo(stream_ns); stream_ns.play("video.flv"); this.createTextField("loaded_txt",this.getNextHighestDepth(),10,10,160,22); this.createEmptyMovieClip("progressBar_mc",this.getNextHighestDepth()); progressBar_mc.createEmptyMovieClip("bar_mc",progressBar_mc.getNextHighestDepth()); with (progressBar_mc.bar_mc) { beginFill(0xFF0000); moveTo(0,0); lineTo(100,0); lineTo(100,10); lineTo(0,10); lineTo(0,0); endFill(); _xscale = 0; } progressBar_mc.createEmptyMovieClip("stroke_mc",progressBar_mc.getNextHighestDepth()); with (progressBar_mc.stroke_mc) { lineStyle(0,0x000000); moveTo(0,0); lineTo(100,0); lineTo(100,10); lineTo(0,10); lineTo(0,0); } var loaded_interval:Number = setInterval(checkBytesLoaded, 500, stream_ns); function checkBytesLoaded(my_ns:NetStream) { var pctLoaded:Number = Math.round(my_ns.bytesLoaded/my_ns.bytesTotal*100); loaded_txt.text = Math.round(my_ns.bytesLoaded/1000)+" of "+Math.round(my_ns.bytesTotal/1000)+" KB loaded ("+pctLoaded+"%)"; progressBar_mc.bar_mc._xscale = pctLoaded; if (pctLoaded>=100) { clearInterval(loaded_interval); } } Assim está funcionando certinho, mas agora o problema é outro. O som está duplicado, como se estivesse com eco. Parece que estão tocando duas linhas do tempo do som. Alguém teria alguma dica de como retirar específicamente apenas 1 som ? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 29, 2009 Som duplicado??? O.o Tem certeza que isso ai não é erro do FLV que você ta usando de exemplo não? Já testou outro? Pode ser tbm que você esteja com um outro FLVplayback em sua tela com ele instanciado só que escondido... e ao dar play em 1 da nos 2... da uma olhada nisso Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Donando 1 Denunciar post Postado Setembro 30, 2009 Droga, de volta a estaca zero. Esse script do netstream não funciona com FLVPlayback, ele deve ser usado com um display de video(actionscript-controled). Usando este ultimo script (netstream) não posso utilizar os scripts já desenvolvidos, no projeto atual, para o FLVPlayback. Como por exemplo cuepoints, play/pause, volume som, etc. Sendo assim volto a estaca zero. Como fazer um pré-load de um arquivo externo .flv que é chamado pelo FLVPlayback ?? Serei muito grato se alguem puder me ajudar. Abs a todos. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 30, 2009 Assim ;) mx.video.FLVPlayback.FLV; var obj:Object = new Object(); FLVplayer.contentPath = "http://www.velhochico.com/videos/videos/video_1.flv"; var pl:Number; var pt:Number; FLVplayer.metadataReceived = function(){ pt = FLVplayer.bytesTotal; } FLVplayer.onEnterFrame = function(){ pl = FLVplayer.bytesLoaded; var total:Number = Math.round((pl/pt) * 100); trace(total); if(total == 100) FLVplayer.play(); } FLVplayer.ready = function(){ FLVplayer.stop(); } FLVplayer.addEventListener('ready', obj); FLVplayer.addEventListener("metadataReceived", obj); Não era tão complicado era? Tem no helpzinho do flash... era só dar uma lida... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Donando 1 Denunciar post Postado Outubro 1, 2009 Muito Obrigado Berseck, você é fera!! Realmente olhando agora não parece complicado... Preciso aprender muito ainda... Procurei bastante em foruns e no help, testei alguns códigos, mas esse não encontrei. Estou a disposição caso precise de alguma ajuda. Mais uma vez, muito obrigado. p.s. Como coloco resolvido neste tópico? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 1, 2009 Parabens que conseguiu http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Bons estudos ;) E o resolvido só administradores colocam hehe Abraços Compartilhar este post Link para o post Compartilhar em outros sites