Olá galera, to começando a aprender AS pois to fazendo um site de música online, então procurei na net como fazer um player, até aí tudo perfeito, meu player roda q é uma beleza, mas o q eu queria era o seguinte:
Qual linha eu devo retirar para que o player possa iniciar automaticamente, sem precisar mostrar uma lista com as musicas (como tá acontecendo?)
Eis o meu código:
/* Paramos o filme */
stop();
/* Escondemos o MovieClip player */
player._visible = false;
/* Escondemos o MovieClip scrollBar */
scrollBar._visible = false;
/* Criamos a máscara */
recebe.setMask(mascara);
/* Deixamos o MovieClip barLoad com _xscale igual a 0 */
player.barLoad._xscale = 0;
/* Deixamos o MovieClip preloader com _xscale igual a 0 */
player.preloader._xscale = 0;
/* Criamos uma instancia para a Classe MovieClipLoader */
var carrega:MovieClipLoader = new MovieClipLoader();
/* Criamos um Listener para a Classe MovieClipLoader */
var carregaListener:Object = new Object();
/* Criamos um novo Som */
var som:Sound = new Sound();
/* Variável que armazena o número da música atual */
var musicaAtual:Number = 0;
/* Variável Booleana */
var clicado:Boolean = false;
/* Variável para saber a posição do Som */
var posicao:Number = 0;
/* Criamos uma instancia para a Classe XML */
var dados:XML = new XML();
/* Ignoramos os espaçoes em branco */
dados.ignoreWhite = true;
/* Carregamos o arquivo XML */
dados.load("musicas/" + artista + "/" + album + "/" + musica + ".xml");
/* Quando carregar do arquivo XML */
dados.onLoad = function(ok)
{
/* Se não acontecer erro */
if (ok)
{
/* Dizemos qual é o primeiro Node */
xmlNode = this.firstChild;
/* Criamos uma variável para armazenar o total dos itens */
total = xmlNode.childNodes.length;
/* Chamamos a função monta */
monta();
}
else
{
/* Mostramos a mensagem de erro */
trace("Erro");
}
};
/* Função monta, responsável por mostrar os dados do XML */
function monta()
{
/* Para cada item retornado */
for (var i = 0; i < total; i++)
{
/* Importamos o MovieClip item */
var mc:MovieClip = recebe.attachMovie("item", "item" + i, recebe.getNextHighestDepth());
/* Posicionamos o MovieClip um abaixo do outro */
mc._y = i * mc._height;
/* Colocamos o nome da música no MovieClip */
mc.campo.text = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
/* Armazenamos o id do MovieClip */
mc.id = i;
/* Ao pressionar no MovieClip */
mc.onPress = function()
{
/* Chamamos a função carregaMusica passando a música atual */
carregaMusica(this.id);
/* Mudamos a música atual */
musicaAtual = this.id;
/* Mostramos o MovieClip player */
player._visible = true;
/* Escondemos o MovieClip recebe */
recebe._visible = false;
/* Escondemos o scrollBar */
scrollBar._visible = false;
};
}
/* Verificamos se o MovieClip recebe é maior que o scrollBar */
if (recebe._height > scrollBar._height)
{
/* Se for maior, mostramos o scrollBar */
scrollBar._visible = true;
}
else
{
/* Se for menor, escondemos o scrollBar */
scrollBar._visible = false;
}
}
/* Função carregaMusica, responsável por carregar a música */
function carregaMusica(num:Number):Void
{
/* Zeramos o _xscale do MovieClip preloader */
player.preloader._xscale = 0;
/* Zeramos o _xscale do MovieClip barLoad */
player.barLoad._xscale = 0;
/* Criamos um novo Som */
som = new Sound();
/* Carregamos o som usando o parametro num */
/* Usaremos streaming para carregar o som, se preferiri não usar Streaming */
/* troque o parametro true por false */
som.loadSound(xmlNode.childNodes[num].childNodes[1].firstChild.nodeValue,true);
/* Quando a música terminar de tocar */
som.onSoundComplete = function()
{
/* Paramos a música */
som.stop();
/* Se musicaAtual for menor que o total */
if (musicaAtual < (total - 1))
{
/* Incrementamos musicaAtual */
musicaAtual++;
/* Chamamos a função carregaMusica */
carregaMusica(musicaAtual);
}
else
{
/* Se não, dizemos que a musicaAtual é a primeira */
musicaAtual = 0;
/* Chamamos a função carregaMusica */
carregaMusica(musicaAtual);
}
};
/* Carregamos a capa do CD */
carrega.loadClip(xmlNode.childNodes[num].childNodes[3].firstChild.nodeValue,player.loader);
/* Exibimos a duração da música */
player.duracao.text = xmlNode.childNodes[num].childNodes[5].firstChild.nodeValue;
/* Exibimos o nome da música */
player.musica.text = xmlNode.childNodes[num].childNodes[2].firstChild.nodeValue;
/* Exibimos o nome do artista */
player.artista.text = xmlNode.childNodes[num].childNodes[0].firstChild.nodeValue;
/* Exibimos o nome do CD */
player.cd.text = xmlNode.childNodes[num].childNodes[4].firstChild.nodeValue;
/* Mostrams a musica atual */
player.atual.text = num + 1 + " de " + total;
/* Chamamos a cada 0.1 segundo a função progresso */
intervalo = setInterval(progresso, 100);
}
/* Ao carregar a imagem */
carregaListener.onLoadInit = function()
{
/* Mudamos o valor do MovieClip loader */
player.loader._width = 150;
player.loader._height = 150;
};
/* Adicionamos o listener a instancia do MovieClipLoader */
carrega.addListener(carregaListener);
/* Função responsável por mostrar o progresso do carregamento da música */
function progresso()
{
/* Pego o tamanho da música */
soundBytesTotal = som.getBytesTotal();
/* Pego quanto foi carregado */
soundBytesLoaded = som.getBytesLoaded();
/* Vemos quanto foi carregado */
soundLoading = Math.round((soundBytesLoaded / soundBytesTotal) * 100);
/* Se a variavel soundLoading for menor ou igual a 99 */
if (soundLoading <= 99)
{
/* Aumentamos a barra do preloader */
player.preloader._xscale = soundLoading;
}
else
{
/* Se for maior, escondemos a barra do preloader */
player.preloader._xscale = 0;
}
/* Conforme for tocando a música, aumentamos o barLoad */
player.barLoad._xscale = Math.floor((som.position / som.duration) * soundLoading);
/* Variável que armazena quantos segundos a música já tocou */
segundosTocados = Math.floor((som.position / 1000) % 60);
/* Se segundosTocados for menor que 10 */
if (segundosTocados < 10)
{
/* Acrescentamos um 0 */
segundosTocados = "0" + segundosTocados;
}
/* Variável que armazena quantos minutos a música já tocou */
minutosTocados = Math.floor((som.position / 1000) / 60);
/* Exibimos quanto a música já tocou */
player.tocado.text = minutosTocados + ":" + segundosTocados;
}
/* Função responsável por retornar ao player */
function retorna()
{
/* Mostramos o MovieClip player */
player._visible = true;
/* Mostramos o MovieClip recebe */
recebe._visible = false;
/* Verificamos se o MovieClip recebe é maior que o scrollBar */
if (recebe._height > scrollBar._height)
{
/* Se for maior, mostramos o scrollBar */
scrollBar._visible = true;
}
else
{
/* Se for menor, escondemos o scrollBar */
scrollBar._visible = false;
}
/* Matamos o intervalo */
clearInterval(volta);
}
/* Ao pressionar do botão seta */
player.seta.onPress = function()
{
/* Usamos o onEnterFrame do MovieClip */
this.onEnterFrame = function()
{
/* Dizemos qual a posição do MovieClip é aonde o Mouse apontou */
this._x = player._xmouse;
/* Mudamos o tamanho do MovieClip volumeBar */
player.volumeBar._width = player.seta._x - player.fundoVolume._x;
/* Mudamos o volume da música */
som.setVolume(Math.round((player.volumeBar._width * 100) / player.fundoVolume._width));
/* Verificamos se a posição do MovieClip seta atingiu o tamanho mínimo */
if (this._x <= player.fundoVolume._x)
{
/* Deixamos sempre na posição mínima */
this._x = player.fundoVolume._x;
/* Deixamos com um volume 0 */
som.setVolume(0);
/* Deixamos o MovieClip volumeBar com 1 pixel de largura */
player.volumeBar._width = 1;
}
/* Verificamos se a posição do MovieClip seta atingiu o tamanho máximo */
if (this._x >= (player.fundoVolume._width + player.fundoVolume._x))
{
/* Deixamos sempre na posição máxima */
this._x = player.fundoVolume._width + player.fundoVolume._x;
/* Deixamos o som com volume 100 */
som.setVolume(100);
/* Deixamos o MovieClip volumeBar com o tamanho máximo */
player.volumeBar._width = player.fundoVolume._width;
}
};
};
/* Ao solta do mouse */
player.seta.onRelease = player.seta.onReleaseOutside = function ()
{
/* Deletamos o onEnterFrame */
delete this.onEnterFrame;
};
/* Ao pressionar do botão btMenu */
btMenu.onPress = function()
{
/* Escondemos o MovieClip player */
player._visible = false;
/* Exibimos o MovieClip recebe */
recebe._visible = true;
/* Verificamos se o MovieClip recebe é maior que o scrollBar */
if (recebe._height > scrollBar._height)
{
/* Se for maior exibimos o scrollBar */
scrollBar._visible = true;
}
else
{
/* Se for menor escondemos o scrollBar */
scrollBar._visible = false;
}
/* Criamos um intervalo para chamar a função retorna */
volta = setInterval(retorna, 6000);
};
/* Ao pressionar do botão prox */
prox.onPress = function()
{
/* Terminamos o intervalo */
clearInterval(intervalo);
/* Verificamos a variável musicaAtual é menor que o total de itens do XML menos 1 */
if (musicaAtual < (total - 1))
{
/* Incrementamos a variavel musicaAtual */
musicaAtual++;
/* Chamamos a função carregaMusica passando a musicaAtual */
carregaMusica(musicaAtual);
}
else
{
/* Dizemos que a musicaAtual é igual a 0 */
musicaAtual = 0;
/* Chamamos a função carregaMusica */
carregaMusica(musicaAtual);
}
};
/* Ao pressionar do botão ant */
ant.onPress = function()
{
/* Terminamos o intervalo */
clearInterval(intervalo);
/* Verificamos se a musicaAtual é maior que 0 */
if (musicaAtual > 0)
{
/* Decrementamos a variável */
musicaAtual--;
/* Chamamos a função carregaMusica */
carregaMusica(musicaAtual);
}
else
{
/* Dizemos que a musicaAtual é a última */
musicaAtual = total - 1;
/* Chamamos a função carregaMusica */
carregaMusica(musicaAtual);
}
};
/* Ao pressionar do botão playPause */
playPause.onPress = function()
{
/* Verificamos se o botão já foi clicado */
if (clicado == false)
{
/* Dizemos que o botão foi clicado */
clicado = true;
/* Armazenamos a posição da música */
posicao = som.position / 1000;
/* Paramos a música */
som.stop();
/* Vericiamos se o preloader chegou ao final */
if (player.preloader._xscale >= 99)
{
/* Se chegou terminamos o intervalo */
clearInterval(intervalo);
}
}
else
{
/* Dizemos que o botão não foi clicado */
clicado = false;
/* Iniciamos a música na posição em que ela parou */
som.start(posicao,1);
/* Zeramos a variavel posicao */
posicao = 0;
/* Iniciamos o intervalo para chamar a função progresso */
intervalo = setInterval(progresso, 100);
}
};
Pergunta
Marcelinho
Olá galera, to começando a aprender AS pois to fazendo um site de música online, então procurei na net como fazer um player, até aí tudo perfeito, meu player roda q é uma beleza, mas o q eu queria era o seguinte:
Qual linha eu devo retirar para que o player possa iniciar automaticamente, sem precisar mostrar uma lista com as musicas (como tá acontecendo?)
Eis o meu código:
/* Paramos o filme */ stop(); /* Escondemos o MovieClip player */ player._visible = false; /* Escondemos o MovieClip scrollBar */ scrollBar._visible = false; /* Criamos a máscara */ recebe.setMask(mascara); /* Deixamos o MovieClip barLoad com _xscale igual a 0 */ player.barLoad._xscale = 0; /* Deixamos o MovieClip preloader com _xscale igual a 0 */ player.preloader._xscale = 0; /* Criamos uma instancia para a Classe MovieClipLoader */ var carrega:MovieClipLoader = new MovieClipLoader(); /* Criamos um Listener para a Classe MovieClipLoader */ var carregaListener:Object = new Object(); /* Criamos um novo Som */ var som:Sound = new Sound(); /* Variável que armazena o número da música atual */ var musicaAtual:Number = 0; /* Variável Booleana */ var clicado:Boolean = false; /* Variável para saber a posição do Som */ var posicao:Number = 0; /* Criamos uma instancia para a Classe XML */ var dados:XML = new XML(); /* Ignoramos os espaçoes em branco */ dados.ignoreWhite = true; /* Carregamos o arquivo XML */ dados.load("musicas/" + artista + "/" + album + "/" + musica + ".xml"); /* Quando carregar do arquivo XML */ dados.onLoad = function(ok) { /* Se não acontecer erro */ if (ok) { /* Dizemos qual é o primeiro Node */ xmlNode = this.firstChild; /* Criamos uma variável para armazenar o total dos itens */ total = xmlNode.childNodes.length; /* Chamamos a função monta */ monta(); } else { /* Mostramos a mensagem de erro */ trace("Erro"); } }; /* Função monta, responsável por mostrar os dados do XML */ function monta() { /* Para cada item retornado */ for (var i = 0; i < total; i++) { /* Importamos o MovieClip item */ var mc:MovieClip = recebe.attachMovie("item", "item" + i, recebe.getNextHighestDepth()); /* Posicionamos o MovieClip um abaixo do outro */ mc._y = i * mc._height; /* Colocamos o nome da música no MovieClip */ mc.campo.text = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue; /* Armazenamos o id do MovieClip */ mc.id = i; /* Ao pressionar no MovieClip */ mc.onPress = function() { /* Chamamos a função carregaMusica passando a música atual */ carregaMusica(this.id); /* Mudamos a música atual */ musicaAtual = this.id; /* Mostramos o MovieClip player */ player._visible = true; /* Escondemos o MovieClip recebe */ recebe._visible = false; /* Escondemos o scrollBar */ scrollBar._visible = false; }; } /* Verificamos se o MovieClip recebe é maior que o scrollBar */ if (recebe._height > scrollBar._height) { /* Se for maior, mostramos o scrollBar */ scrollBar._visible = true; } else { /* Se for menor, escondemos o scrollBar */ scrollBar._visible = false; } } /* Função carregaMusica, responsável por carregar a música */ function carregaMusica(num:Number):Void { /* Zeramos o _xscale do MovieClip preloader */ player.preloader._xscale = 0; /* Zeramos o _xscale do MovieClip barLoad */ player.barLoad._xscale = 0; /* Criamos um novo Som */ som = new Sound(); /* Carregamos o som usando o parametro num */ /* Usaremos streaming para carregar o som, se preferiri não usar Streaming */ /* troque o parametro true por false */ som.loadSound(xmlNode.childNodes[num].childNodes[1].firstChild.nodeValue,true); /* Quando a música terminar de tocar */ som.onSoundComplete = function() { /* Paramos a música */ som.stop(); /* Se musicaAtual for menor que o total */ if (musicaAtual < (total - 1)) { /* Incrementamos musicaAtual */ musicaAtual++; /* Chamamos a função carregaMusica */ carregaMusica(musicaAtual); } else { /* Se não, dizemos que a musicaAtual é a primeira */ musicaAtual = 0; /* Chamamos a função carregaMusica */ carregaMusica(musicaAtual); } }; /* Carregamos a capa do CD */ carrega.loadClip(xmlNode.childNodes[num].childNodes[3].firstChild.nodeValue,player.loader); /* Exibimos a duração da música */ player.duracao.text = xmlNode.childNodes[num].childNodes[5].firstChild.nodeValue; /* Exibimos o nome da música */ player.musica.text = xmlNode.childNodes[num].childNodes[2].firstChild.nodeValue; /* Exibimos o nome do artista */ player.artista.text = xmlNode.childNodes[num].childNodes[0].firstChild.nodeValue; /* Exibimos o nome do CD */ player.cd.text = xmlNode.childNodes[num].childNodes[4].firstChild.nodeValue; /* Mostrams a musica atual */ player.atual.text = num + 1 + " de " + total; /* Chamamos a cada 0.1 segundo a função progresso */ intervalo = setInterval(progresso, 100); } /* Ao carregar a imagem */ carregaListener.onLoadInit = function() { /* Mudamos o valor do MovieClip loader */ player.loader._width = 150; player.loader._height = 150; }; /* Adicionamos o listener a instancia do MovieClipLoader */ carrega.addListener(carregaListener); /* Função responsável por mostrar o progresso do carregamento da música */ function progresso() { /* Pego o tamanho da música */ soundBytesTotal = som.getBytesTotal(); /* Pego quanto foi carregado */ soundBytesLoaded = som.getBytesLoaded(); /* Vemos quanto foi carregado */ soundLoading = Math.round((soundBytesLoaded / soundBytesTotal) * 100); /* Se a variavel soundLoading for menor ou igual a 99 */ if (soundLoading <= 99) { /* Aumentamos a barra do preloader */ player.preloader._xscale = soundLoading; } else { /* Se for maior, escondemos a barra do preloader */ player.preloader._xscale = 0; } /* Conforme for tocando a música, aumentamos o barLoad */ player.barLoad._xscale = Math.floor((som.position / som.duration) * soundLoading); /* Variável que armazena quantos segundos a música já tocou */ segundosTocados = Math.floor((som.position / 1000) % 60); /* Se segundosTocados for menor que 10 */ if (segundosTocados < 10) { /* Acrescentamos um 0 */ segundosTocados = "0" + segundosTocados; } /* Variável que armazena quantos minutos a música já tocou */ minutosTocados = Math.floor((som.position / 1000) / 60); /* Exibimos quanto a música já tocou */ player.tocado.text = minutosTocados + ":" + segundosTocados; } /* Função responsável por retornar ao player */ function retorna() { /* Mostramos o MovieClip player */ player._visible = true; /* Mostramos o MovieClip recebe */ recebe._visible = false; /* Verificamos se o MovieClip recebe é maior que o scrollBar */ if (recebe._height > scrollBar._height) { /* Se for maior, mostramos o scrollBar */ scrollBar._visible = true; } else { /* Se for menor, escondemos o scrollBar */ scrollBar._visible = false; } /* Matamos o intervalo */ clearInterval(volta); } /* Ao pressionar do botão seta */ player.seta.onPress = function() { /* Usamos o onEnterFrame do MovieClip */ this.onEnterFrame = function() { /* Dizemos qual a posição do MovieClip é aonde o Mouse apontou */ this._x = player._xmouse; /* Mudamos o tamanho do MovieClip volumeBar */ player.volumeBar._width = player.seta._x - player.fundoVolume._x; /* Mudamos o volume da música */ som.setVolume(Math.round((player.volumeBar._width * 100) / player.fundoVolume._width)); /* Verificamos se a posição do MovieClip seta atingiu o tamanho mínimo */ if (this._x <= player.fundoVolume._x) { /* Deixamos sempre na posição mínima */ this._x = player.fundoVolume._x; /* Deixamos com um volume 0 */ som.setVolume(0); /* Deixamos o MovieClip volumeBar com 1 pixel de largura */ player.volumeBar._width = 1; } /* Verificamos se a posição do MovieClip seta atingiu o tamanho máximo */ if (this._x >= (player.fundoVolume._width + player.fundoVolume._x)) { /* Deixamos sempre na posição máxima */ this._x = player.fundoVolume._width + player.fundoVolume._x; /* Deixamos o som com volume 100 */ som.setVolume(100); /* Deixamos o MovieClip volumeBar com o tamanho máximo */ player.volumeBar._width = player.fundoVolume._width; } }; }; /* Ao solta do mouse */ player.seta.onRelease = player.seta.onReleaseOutside = function () { /* Deletamos o onEnterFrame */ delete this.onEnterFrame; }; /* Ao pressionar do botão btMenu */ btMenu.onPress = function() { /* Escondemos o MovieClip player */ player._visible = false; /* Exibimos o MovieClip recebe */ recebe._visible = true; /* Verificamos se o MovieClip recebe é maior que o scrollBar */ if (recebe._height > scrollBar._height) { /* Se for maior exibimos o scrollBar */ scrollBar._visible = true; } else { /* Se for menor escondemos o scrollBar */ scrollBar._visible = false; } /* Criamos um intervalo para chamar a função retorna */ volta = setInterval(retorna, 6000); }; /* Ao pressionar do botão prox */ prox.onPress = function() { /* Terminamos o intervalo */ clearInterval(intervalo); /* Verificamos a variável musicaAtual é menor que o total de itens do XML menos 1 */ if (musicaAtual < (total - 1)) { /* Incrementamos a variavel musicaAtual */ musicaAtual++; /* Chamamos a função carregaMusica passando a musicaAtual */ carregaMusica(musicaAtual); } else { /* Dizemos que a musicaAtual é igual a 0 */ musicaAtual = 0; /* Chamamos a função carregaMusica */ carregaMusica(musicaAtual); } }; /* Ao pressionar do botão ant */ ant.onPress = function() { /* Terminamos o intervalo */ clearInterval(intervalo); /* Verificamos se a musicaAtual é maior que 0 */ if (musicaAtual > 0) { /* Decrementamos a variável */ musicaAtual--; /* Chamamos a função carregaMusica */ carregaMusica(musicaAtual); } else { /* Dizemos que a musicaAtual é a última */ musicaAtual = total - 1; /* Chamamos a função carregaMusica */ carregaMusica(musicaAtual); } }; /* Ao pressionar do botão playPause */ playPause.onPress = function() { /* Verificamos se o botão já foi clicado */ if (clicado == false) { /* Dizemos que o botão foi clicado */ clicado = true; /* Armazenamos a posição da música */ posicao = som.position / 1000; /* Paramos a música */ som.stop(); /* Vericiamos se o preloader chegou ao final */ if (player.preloader._xscale >= 99) { /* Se chegou terminamos o intervalo */ clearInterval(intervalo); } } else { /* Dizemos que o botão não foi clicado */ clicado = false; /* Iniciamos a música na posição em que ela parou */ som.start(posicao,1); /* Zeramos a variavel posicao */ posicao = 0; /* Iniciamos o intervalo para chamar a função progresso */ intervalo = setInterval(progresso, 100); } };Editado por MarcelinhoLink para o comentário
Compartilhar em outros sites
0 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.