Leandro S Alves Postado Junho 1, 2009 Denunciar Share Postado Junho 1, 2009 Olá galera, tenho um arquivo que reproduz uma música e quero que a música repita quando terminar, fique dando loop.O código é esse...mNumber = 0; trilha = new Sound(); listaMP3 = new XML(); listaMP3.ignoreWhite = true; listaMP3.load("lista.xml"); listaMP3.onLoad = function() { playlist = listaMP3.childNodes; musica = playlist[0].attributes.url; trilha.loadSound(musica, true); trilha.start(0, 0); carregou = true; dur = trilha.duration; pos = trilha.position; }; trilha.onID3 = function() { artista = trilha.id3.artist; titulo = trilha.id3.songname; info = "<font color='#475848'>"+artista+" </font>. "+titulo; label_.leg.info = info; }; trilha.onSoundComplete = function() { mute = true; if (mNumber<playlist.length) { mNumber++; musica = playlist[mNumber].attributes.url; trilha.loadSound(musica, true); info = unescape(trilha.id3.artist)+" :: "+unescape(trilha.id3.songname); label.leg.info = info; stopado.gotoAndStop(1); trilha.start(); display.mute = false; } }; // stop();Espero uma ajuda. B) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thelon Postado Junho 1, 2009 Denunciar Share Postado Junho 1, 2009 Eu acho que é nessa linha:stopado.gotoAndStop(1); Mude para stopado.gotoAndPlay(1); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro S Alves Postado Junho 2, 2009 Autor Denunciar Share Postado Junho 2, 2009 Cara não é essa linha, já tentei isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Junho 5, 2009 Denunciar Share Postado Junho 5, 2009 (editado) Olá Leandro ^_^Leia um pouco :)Aqui se encontra a função bem auto-explicativa:trilha.onSoundComplete = function() { mute = true; if (mNumber<playlist.length) { mNumber++; musica = playlist[mNumber].attributes.url; trilha.loadSound(musica, true); info = unescape(trilha.id3.artist)+" :: "+unescape(trilha.id3.songname); label.leg.info = info; stopado.gotoAndStop(1); trilha.start(); display.mute = false; } }; Temos que Trilha é um Sound e temos nela um evento 'onSoundcomplete' ou seja 'Quando o som for completado' é Ai que temos que procurar Vamos lá: if (mNumber<playlist.length) { Provavelmente se o numero da musica atual for menos que o nuemro total de músicas, ele passa para a próxima música, seria o minimo que se poderia fazer.... mNumber++; Resumindo a musica que você toca é relacionada a variável mNumber entendido como 'Music number' ou ' numero da musica' Quando esse valor é alterado apra mais ele passa para a 'proxima' musica... Se não quiser q ele passe faça o seguinte: Dentro de 'trilha.onSoundComplete' vamos adicionar uma condição que você vai satisfazer com 1 botão à inicio, o botão 'Loop' :) Criamos um botão chamado loop tanto nome quanto instância, e vou setar uma variável chamada loopStatus; mNumber = 0; trilha = new Sound(); listaMP3 = new XML(); listaMP3.ignoreWhite = true; listaMP3.load("lista.xml"); var loopStatus:Boolean = false; // aqui eu declarei sua variavel porem como você não informou o fonte inteiro não sei aonde ficam suas declarações de variáveis; var meuBotao:MovieClip = _root.loop; meuBotao.onPress = function(){ if(loopStatus){ _root.loopStatus=false; }else{ _root.loopStatus=true; } } Agora que já temos nosso stauts de loop vamos ao código do seu som: trilha.onSoundComplete = function() { mute = true; if (mNumber<playlist.length) { if(!_root.loopStatus){ //ou seja so vai para a proxima musica se seu loop estiver desabilitado :) mNumber++; } musica = playlist[mNumber].attributes.url; trilha.loadSound(musica, true); info = unescape(trilha.id3.artist)+" :: "+unescape(trilha.id3.songname); label.leg.info = info; stopado.gotoAndStop(1); trilha.start(); display.mute = false; } }; Bom em breve é isso, caso não funcione, passe para nós o código fonte, e irei constatar se foi erro nosso :) Mas caso funcione, fico feliz por ter lhe ajudado ! Abraços Pooh há ! esqueci de avisar, não foi encontrado no que você nos disponibilizou uma condição de 'fim de lista de reprodução' ou seja quando chega ao fim das musicas ele para de tocar, o que poderia ser meio desconcertante. Se quiser adicionar isso apenas coloque: trilha.onSoundComplete = function() { mute = true; if (mNumber>playlist.length) {//aqui foi modifica para '>' e não '<' mNumber = 0; } if (!_root.loopStatus) {//ou seja so vai para a proxima musica se seu loop estiver desabilitado :) mNumber++; } musica = playlist[mNumber].attributes.url; trilha.loadSound(musica,true); info = unescape(trilha.id3.artist)+" :: "+unescape(trilha.id3.songname); label.leg.info = info; stopado.gotoAndStop(1); trilha.start(); display.mute = false; };Retirei a corrente da sua condicional e coloquei 1 loop infinitoImagino que funcione hahahasenão, volte aqui que lhe ajudaremos :)Abraços !Pooh Editado Junho 5, 2009 por Pooh Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 L.E.L Postado Junho 5, 2009 Denunciar Share Postado Junho 5, 2009 porque você num joga a música na TimeLine, já que é uma música só, é só pedi pra ela dá um Loop lá nas propriedades, fazendo assim nem precisa usar o ActionScript.abrs...(",)(,")... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Junho 5, 2009 Denunciar Share Postado Junho 5, 2009 LEL....Porque provavelmente isso dae é um tocador...Não uma background music...A idéia da evolução do Flash é usar mais actionScript e menos timeline...tanto que no flash CS4 nema dianta que você não consegue colocar Script em objetos como movieClips etc... a idéia é elimina isso.Porém se isso resolver o problema dele sem complicações, ele deve adotar o método que melhor se encaixar no projeto dele, seja corrigir o actionSCript ou seja implementar um 'quebra-galho' na timeline;AnywayAbraçosPooh Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro S Alves Postado Junho 24, 2009 Autor Denunciar Share Postado Junho 24, 2009 Valeu Pooh, resolveu meu problema Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Junho 24, 2009 Denunciar Share Postado Junho 24, 2009 Grato :)Abraços !Pooh Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Leandro S Alves
Olá galera, tenho um arquivo que reproduz uma música e quero que a música repita quando terminar, fique dando loop.
O código é esse...
Espero uma ajuda. B)
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.