Ir para conteúdo
Fórum Script Brasil
  • 0

[Duvida] Mp3 Player


Marcelinho

Pergunta

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 Marcelinho
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...