Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi Galera, tou com um probleminha, gostaria que alguem me ajudasse pois não manjo muito de AS.
Tenho um pequeno player que reproduz musicas que estão referenciadas num xml.
Acontece que quando uma musica acaba não passa para a seguinte automáticamente, alguem me pode dar uma ajudinha no código para fazer isso?
// Setup sound object
var s:Sound = new Sound();
s.onSoundComplete = playSong;
s.setVolume(75);
// Array of songs
var sa:Array = new Array();
// Currently playing song
var cps:Number = -1;
// Position of music
var pos:Number;
// Load the songs XML
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() var nodes:Array = this.firstChild.childNodes;
for(var i=0;i<nodes.length;i++)
{
sa.push(nodes[i].attributes.url);
}
playSong();
}
xml.load("songs.xml");
// Play the MP3 File
function playSong():Void
{
s = new Sound();
if(cps == sa.length - 1)
{
cps = 0;
s.loadSound(sa[cps], true);
}
else
{
s.loadSound(sa[++cps], true);
}
playPause.gotoAndStop("pause");
}
// Pauses the music
function pauseIt():Void
{
pos = s.position;
s.stop();
}
// Pauses the music
function unPauseIt():Void
{
s.start(pos/1000);
}
// Music Controls
// Play/Pause Toggle
playPause.onRollOver = function()
{
if(this._currentframe == 1) this.gotoAndStop("pauseOver");
else this.gotoAndStop("playOver");
}
playPause.onRollOut = playPause.onReleaseOutside = function() if(this._currentframe == 10) this.gotoAndStop("pause");
else this.gotoAndStop("play");
}
playPause.onRelease = function() if(this._currentframe == 10)
{
this.gotoAndStop("playOver");
this._parent.pauseIt();
}
else
{
this.gotoAndStop("pauseOver");
this._parent.unPauseIt();
}
}
// Next Button
next.onRollOver = function()
{
this.gotoAndStop("nextOver");
}
next.onRollOut = next.onReleaseOutside = function() this.gotoAndStop("next");
}
next.onRelease = function() this._parent.playSong();
}Utilize o onSoundComplete
sound.onSoundComplete = Iniciar;
Ai ele vai na função iniciar e passa para a proxima musica...
Isso é um exemplo você tem que criar essa função etc...
Tem exemplos disso nos artigos e tutoriais do forum de flash.
Abraços
Valeu aos dois.
Agora onde coloco essas ações?
Bom não sei se você copiou o código ou fez...
Mas coloque
s.onSoundComplete = nova função e crie essa função
Após todo os s.loadSound();
E como disse de uma olhada nos artigos e tutoriais... para ver como fazer
Abraços
Valeu, eu fiz isso de um tutorial, como lhe disse não percebo muito de AS, apenas fiz um leitor simples de MP3 para incluir num site.
Já pesquisei mas não estou conseguindo fazer, valeu na mesma.
Abraço
Oi morpheus, tudo bom.
Assim, tenho um code para player em MP3 + XML em AS3, que não usa Array (recomendável), mas que funfa direitinho na transição das faixas.
Também não domino AS3, foi o melhor que encontrei até o momento. Sei que precisa melhorar, já tive orientação para isso.
Se quiser dar uma conferida, me avise, estou com a página no server, é só renomear para visualização.
Abs.
Olá camarada,
Basicamente você deve colocar um onEnterFrame e dentro dele um if testando se o total é igual ao corrente, quando for igual significa que você chegou ao final da música certo? se isso acontecer, chame a função next;
Tenta ae, caso não conseguir posta ae beleza?
t+