Akroma 0 Denunciar post Postado Setembro 1, 2010 Bom dia pessoas! Estou com um problema, preciso desenvolver um player para mp3 que tenha um progressBar daquele que clica vai para a música e talz... não tenho ideia de como fazer... consegui fazer ele andar conforme o tempo ( mas mesmo assim não ficou bom porque ele ia indo indo indo sem uma proporção com a minha barra) Aqui o código que eu tenho _root.onEnterFrame = function() { //Música já carregada //Variavel que pega o tempo da música pegaTime = som.position / 1000; trace(som.position / 1000); //Faz andar a barra if(base_btn.LoaderBar.maskTotal._x < 291) { base_btn.LoaderBar.maskTotal._xscale *= ( pegaTime / 2 ) ; } else { base_btn.LoaderBar.maskTotal._x = 291 } } Se alguem tiver alguma ideia :D Obrigada. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 1, 2010 Da uma olhada aqui: http://forum.imasters.com.br/index.php?/topic/331250-tutorial-mp3-player-com-datagrid-e-xml/ Ai eu faço um player completinho. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Akroma 0 Denunciar post Postado Setembro 1, 2010 Opa... Obrigada me ajudo muito ( inclusive com o volume que eu estava com problemas) Só mais uma coisa ... lá você mostra como colocar o tempo atual... como eu faço para ele ver o tempo total? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 1, 2010 Pega o valor duração Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Akroma 0 Denunciar post Postado Setembro 2, 2010 Oi... não consegui arrumar :( Mas esse é o menor dos meus problemas Hoje. Esse player na verdade é um Slide Show onde tenho um menu do lado, clicando lá, ele vai automaticamente para x parte do video e pronto, essa parte eu consegui fazer fácil, o que não estou conseguindo fazer é ele pegar o tempo do slide e fazer ele aparecer automáticamente! //Duplica os MCS. e carrega de acordo com os nós for(i=0; i< total; i++){ mc_Imgs = arquivo.childNodes[1].childNodes[i].attributes.imagem; //Essa linha duplica o Menu lateral var mc_atual = mcVazio.Mslide.duplicateMovieClip("container"+i, total - i,{_y: (i * 25) + 1}); mc_atual.NomeSlide.text = arquivo.childNodes[1].childNodes[i].attributes.slide; mc_atual.btnSlide.TempoSlide = arquivo.childNodes[1].childNodes[i].attributes.tempo; mc_atual.btnSlide.Img = arquivo.childNodes[1].childNodes[i].attributes.imagem; var TempoMp3:Number = arquivo.childNodes[1].childNodes[i].attributes.tempo; /*onEnterFrame = function() { trace("Tempo Xml " + TempoMp3) trace("Posição da Música" + som.position) if(this.TempoSlide == som.position) { _root.targetMc.loadMovie(this.Img) } } */ //Btn do slide mc_atual.btnSlide.onRelease = function(){ _root.targetMc.loadMovie(this.Img) som.start(this.TempoSlide); } } Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 2, 2010 Quando foi que Player MP3 viro slide? O_O Onde foi que perdi? Para pegar o tempo do slideshow acredito que seja um SWF pegue o _totalframes dele e ai faça o calculo pelo frame rate Frame rate normalmente é 12 frames por segundo Então se o total for de 120 ele tem 1 minuto certinho. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Akroma 0 Denunciar post Postado Setembro 2, 2010 Ai meu Deus eu não me expliquei direito Bom é o seguinte, eu pego o XML o cliente Sobe uma musica em mp3 e varias imgs ( colocando nela em que momento da música ele vai aparecer) Ai fiz um player e coloquei os botoes para selecionar o slide desejado isso funcionou lindo... eu clico ele leva a música para o tempo e mostra a imagem! O que eu não consigo fazer é ele ler o xml e saber que no segundo 3 aparece a imagem X. Tendeu? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 2, 2010 Ai vocÊ vai fazer com o código de tempo que você viu no meu código e usar ifs elses referentes a isso. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Akroma 0 Denunciar post Postado Setembro 2, 2010 tem como criar esses if dinamicamente? porque os tempos vem pelo xml ( como coloquei no codigo lá em cima!) Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 2, 2010 Eu faria assim: Colocaria todos os tempos em 1 array perguntando se já ta naquele tempo com o if colocando o dado do tempo perguntando se existe na array Se for encontrado ele vai mostrar a foto X e adicionar + 1 ao contador... assim sempre vai mostrar a proxima foto. Mas ai vai bugar se por exemplo a pessoa clicar para voltar na musica... Ai se vai ter que fazer um if que vai se o cara clicar na musica vai alterar o contador tbm... Vai dar um trabalhinho fazer isso :) Boa sorte. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Akroma 0 Denunciar post Postado Setembro 3, 2010 è vou tentar descobrir como faz isso... obrigada viu!!! Bjus function carrega() { musica = arquivo.childNodes[0].childNodes[i].attributes.link; //target.loadMovie(arquivo.childNodes[1].childNodes[i].attributes.imagem); //Duplica os MCS. e carrega de acordo com os nós for(i=0; i< total; i++){ mc_Imgs = arquivo.childNodes[1].childNodes[i].attributes.imagem; //coloca os tempos no array ja criado lá em cima Tempo = new Array(); Tempo[i] = arquivo.childNodes[1].childNodes[i].attributes.tempo; trace(i + " "+ Tempo[i]) //Essa linha duplica o Menu lateral var mc_atual = mcVazio.Mslide.duplicateMovieClip("container"+i, total - i,{_y: (i * 25) + 1}); mc_atual.NomeSlide.text = arquivo.childNodes[1].childNodes[i].attributes.slide; mc_atual.btnSlide.TempoSlide = arquivo.childNodes[1].childNodes[i].attributes.tempo; mc_atual.btnSlide.Img = arquivo.childNodes[1].childNodes[i].attributes.imagem; onEnterFrame = function() { if(Tempo[i] == som.position) { trace ( "certo" ); } } Bom.. eu fiz desse jeito ( inicialmente pra depois fazer os outros if de quabdo a pessoa usar o contador ) O problema ele não identifica os numeros pra trocar a imagem :( function carrega() { musica = arquivo.childNodes[0].childNodes[i].attributes.link; //target.loadMovie(arquivo.childNodes[1].childNodes[i].attributes.imagem); //Duplica os MCS. e carrega de acordo com os nós for(i=0; i< total; i++){ mc_Imgs = arquivo.childNodes[1].childNodes[i].attributes.imagem; //Essa linha duplica o Menu lateral var mc_atual = mcVazio.Mslide.duplicateMovieClip("container"+i, total - i,{_y: (i * 25) + 1}); mc_atual.NomeSlide.text = arquivo.childNodes[1].childNodes[i].attributes.slide; mc_atual.btnSlide.TempoSlide = arquivo.childNodes[1].childNodes[i].attributes.tempo; mc_atual.btnSlide.Img = arquivo.childNodes[1].childNodes[i].attributes.imagem; var Ttempos:Array = arquivo.childNodes[1].childNodes[i].attributes.tempo; var Oslice = Ttempos.slice(0,total); onEnterFrame = function() { trace("Slice " + Oslice * 100 ); trace("Som " + Math.round(som.position)); if(Math.round(som.position) == Oslice * 100) { trace( "aqui" ) } else { trace("errado") } } Fiz assim tb... mas não funciona :( function apareceImagem() { i = 0; var TempoX:Number = arquivo.firstChild.childNodes[1].childNodes[i].attributes.tempo; var SlidesImg:Array = arquivo.firstChild.childNodes[1].childNodes[i].attributes.imagem; trace(TempoX) _root.onEnterFrame = function() { trace(Math.round(som.position/100)); trace(TempoX) if( i==1 ) { if(Math.round(som.position/100) == TempoX * 10) { targetMc.loadMovie(SlidesImg) trace( "DEU CERTO OBAAAAAAAAAAAAAA") i++; trace( "Primeiro if i = " + i); } } } if(i==2) { if(Math.round(som.position/100) == TempoX * 10) { targetMc.loadMovie(SlidesImg) trace( "DEU CERTO ihuuuuuuuu") i++; trace( "Primeiro if i = " + i); } } } BOm fiz esse if, mas ele só pega o primeiro mesmo eu incrementando 1 no i ele não funciona. Alguem poderia me ajudar? Bjus Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 7, 2010 Declare o i fora de função lá no começo do projeto var i = 0; toda variavel declarada dentro de função só é valida para aquela função onde ela foi declarada. Abraços Compartilhar este post Link para o post Compartilhar em outros sites