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

Player do site


D31v1d1

Pergunta

Bom dia, sou iniciante em flash estou começando agora, e peguei um mp3 para por em meu site, funcionou perfeitamente, mas queria fazer uns ajustes mas como não intendo nada gostaria de uma ajuda de vocês.

Neste mp3 tem a lista das musicas vindo de um xml e fica listada em um combo e se o usuário não escolher nenhum musica ele começa pela indicada abaixo no código ou seja a musica "01", mas tenho na pasta 7 musicas 01, 02, 03... 07

O que gostaria que acontecesse era que se o usuário não escolher música o player tocasse todas as musicas das pasta ou seja as 7 musicas e ao final voltasse a primeira e assim ficasse um loop infinito.

Será que alguém pode me ajudar?

code do as

// Primeira Função a ser chamada assim que ComboBox for selecionado
_global.tocaMusica = function(nome)
{
     // Diretorio das musicas
     var diretorio:String = "mp3/musicas/";
     // Variavel que contem, diretorio + nome da musica! 
     var lista = diretorio + nome + ".mp3";
     // Declara uma nova instancia de objeto da classe Sound.
     _global.novoSom = new Sound();
    // Evento chamado automaticamente quando a reprodução do som é concluída. 
    _global.novoSom.onSoundComplete = function ()
    {
        _global.paraMusica();
    };
    /*
    _global.novoSom.loadSound(url, Streaming);
    url é o local onde se encontra o som .mp3 a ser carregado.
    Streaming é um valor booleano (true/false),
    Se true o som será tocado enquanto vai sendo carregado.
    O Flash o armazena em buffer.
    Se false o Flash carrega todo o som    e só depois o reproduz. 
    */
    _global.novoSom.loadSound(lista, true);
    // Setando o buffer do som para 10 segundos
    _soundbuftime = 10;
    // Variaveis apenas para teste nas funções
    // Preenchemos a variavel somPausado como true, caso a musica esteja pausada
    var somPausado:Boolean = false;
    // Preenchemos a variavel somParado como true, caso a musica esteja parada
    var somParado:Boolean = false;
    // Setamos o volume do novoSom com o valor da variavel vol
    /*
    _global.novoSom.setVolume();
     Define o nível de volume do som que vai de 0 a 100.
     */
    _global.novoSom.setVolume(vol);
    // Setamos o balanço do novoSom com o valor da variavel bal
    /*
    _global.novoSom.setPan();
    Define a distribuição direita/esquerda do som.
    Os valores vão de 100 a -100 onde 100 é usado para que o som saia na direita
    e -100 para que o som saia na esquerda, 0 distribui igualmente para ambos os lados. 
    */
    _global.novoSom.setPan(bal);
    // Inicia a contagem do tempo da musica
    _global.verTime();
}

// Função utilizada para retorna a musica atual
_global.tocaMusicaAtual = function ()
{
    // Start na musica!
    // Aqui e dá um start daonde a musica foi pausada
    _global.novoSom.start();
    // Inicia a contagem do time novamente
    _global.verTime();
    // Setamos as variaveis booleanas como false
    somPausado = false;
    somParado = false;
    // Habilitamos os controles
    _root.controles._visible=true;
    // Habilitamos o mcPausa e desabilitamos o mcPlay
    mcPausa._visible=true;
    mcPlay._visible=false;
    // Habilitamos o text como o Time
    tTime._visible=true;
} 
// Função que pausa a música
_global.pausaMusica = function ()
{
    // Gravamos a posição onde a musica foi pausada
    _global.PosPausa = _global.novoSom.position;
    // Paramos a musica na posição
    _global.novoSom.stop();
    // Setamos a variavel booleana somPausado como true
    somPausado = true;
    somParado = false;
    // Habilitamos o mcPlay e desabilitamos o mcPausa
    mcPlay._visible=true;
    mcPausa._visible=false;    
    // Paramos o Time
    _global.paraTime();
}

// Função para retornar a musica de onde foi parada
_global.tiraPausa = function ()
{
    // Iniciamos a musica na posição que foi parada
    _global.novoSom.start(_global.PosPausa / 1000);
    // Setamos as variaveis booleanas como false
    somPausado = false;
    somParado = false;
    // Habilitamos o mcPausa e desabilitamos o mcPlay
    mcPausa._visible=true;
    mcPlay._visible=false;
    // Habilitamos novamento o Time de onde foi parado
    _global.verTime();
}

// Função para parar a música
_global.paraMusica = function ()
{
    // Paramos a musica
    _global.novoSom.stop();
    // Setamos a variavel booleana somParado como true
    somPausado = false;
    somParado = true;
    // Desabilitamos o mcPausa e habilitamos o mcPlay
    mcPausa._visible=false;
    mcPlay._visible=true;
    // Desabilitamos os controles
    _root.controles._visible=false;
    // Desabilitamos a barra de progresso
    _root.barra._visible = false;
    // Paramos o Time
    _global.paraTime();
    // Setamos o tTime como 00:00
    //tTime.text="00:00";
    // Desabilitamos a visualização dele
    tTime._visible=false;
}
///////////////////////////////////////////////////////
/////////// FIM DE FUNÇÕES DE INTERAÇÃO ///////////////
//////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////
///////////////// GERENCIAMENTO DOS BOTÕES //////////////////
/////////////////////////////////////////////////////////////
// Gerenciamento do Botão Play
mcPlay.onRelease = function ()
{
    // Caso o som esteja Pausado
    if (somPausado==true && somParado==false)
    {
        // Tira a pausa
        _global.tiraPausa();
    }
    else
    {
        // Se não! Toma musica atual
        _global.tocaMusicaAtual();
    }
};
// Gerenciamento do Botão Pausa
mcPausa.onRelease = function ()
{
    // Pausa Musica
    _global.pausaMusica();
};
// Gerenciamento do Botão Stop
mcStop.onRelease = function ()
{
        // Para Musica
        _global.paraMusica();
};
// Gerenciamento do Botão Aumenta Volume 
controles.volAumenta.onRelease = function ()
{
    // Se o volume foi igual a 100
    if (vol == 100) 
    {
        // Não aumenta nada
        vol += 0;
    } 
    else 
    {
        // Se não! Diminui de 10 em 10
        vol += 10;
        // Seta o novo volume
        _global.novoSom.setVolume(vol);        
        // Modifica o Text de volume
        _root.controles.txtvolume.text=vol;        
    }
}
    
// Gerenciamento do Botão Diminui Volume 
controles.volDiminui.onRelease = function ()
{
    // Se o volume foi igual a 0
    if (vol == 0) 
    {
        // Não diminui nada
        vol -= 0;
    } 
    else 
    {
        // Se não! Diminui de 10 em 10
        vol -= 10;
        // Seta o novo volume
        _global.novoSom.setVolume(vol);
        // Modifica o Text de volume
        _root.controles.txtvolume.text=vol;
    }
}
/////////////////////////////////////////////////////////////
////////////// FIM DE GERENCIAMENTO DOS BOTÕES //////////////
/////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////
//////////// GERENCIAMENTO DO TEMPO DAS MUSICAS /////////////
/////////////////////////////////////////////////////////////

// Função que gera o Time
_global.pegaTime = function (){
     // Declara uma nova instancia de objeto da classe Date.
    var tempo = new Date(_global.novoSom.position);
    // Setamos o text do time com a junção dos minutos com os segundos, devidamente formatados
    tTime.text = [formZeros(tempo.getMinutes(), 2), formZeros(tempo.getSeconds(), 2)].join(":");
    
    // Setamos o tamanho da barra de acordo com o calculo da posição divido pela duração.
    _root.barra.barra_d._xscale = _global.novoSom.position/_global.novoSom.duration*100
}
// Função administradora do Time
_global.verTime= function (){
    // Define a função para ser executada em cada intervalo de tempo.
   var progresso = setInterval(pegaTime, 100);
   
       // Habilitamos a barra de progresso
    _root.barra._visible = true;
}
// Para Time
_global.paraTime= function (){
    // Anula a função do setInterval
    clearInterval(progresso);
}
// Função para formatar os numero adquiridos
_global.formZeros = function(n, q)
{
    // transformamos n em um string e contamos o número de caracteres que ela contém
    var a1 = q - n.toString().length;
    // potenciamos nosso a1 à base 10, no nosso caso vai dar 10. 
    var a2 = Math.pow(10, a1);
    // pegamos o valor de a2 e transformamos em um string
    var a3 = a2.toString();
    // pegamos o valor de a3 (string) e mostramos ele a partir da posição 1,
    //dessa forma por exemplo o 1 de 10 não aparece, restando somente 0. 
    var a4 = a3.substr(1);
    // retornamos a4, que no nosso caso é 0 e somamos com n.
    return a4 + n;
}


/////////////////////////////////////////////////////////////
////////// FIM DE GERENCIAMENTO DO TEMPO DAS MUSICAS ////////
/////////////////////////////////////////////////////////////




/////////////////////////////////////////////////////////////
////////// LEITOR DE XML E GERENCIAMENTO DE COMBOBOX ////////
/////////////////////////////////////////////////////////////

// Declaramos o objeto musicasXML como sendo do tipo XML
var musicasXML:XML = new XML();
// Ignora os espaços em branco do arquivo XML
musicasXML.ignoreWhite = true;
// Criamos uma função
musicasXML.onLoad = function():Void 
{
    // Declaramos a Array que conterá as musicas
    var arrayMusicas = new Array();
    // For que vai de a = 0 ate a menor que o tamanho de musicasXML.childNodes[0].childNodes.length
    for (var a = 0; a<musicasXML.childNodes[0].childNodes.length; a++) 
    {
        // Adiciona o valor adquirido à arrayMusicas
        arrayMusicas.push(musicasXML.childNodes[0].childNodes[a].attributes.nomeMusica);
    }
    // Adiciona todos os dados obtidos, agora localizados em arrayMusicas ao componente ComboBox cb_musicas
    // Componente que já se encontra no palco e devidamente instanciado
    cb_musicas.dataProvider = arrayMusicas;
    // Altera o estilo do componente ComboBox cb_musicas
    cb_musicas.setStyle("themeColor", "0xF0ECD0");
    cb_musicas.setStyle("color", "0x000000");
    cb_musicas.setStyle("fontSize", "10");
    cb_musicas.setStyle("fontFamily", "Trebuchet MS");
    // Adicionamos um evento
    cb_musicas.addEventListener("change", link);
}

// Cria o objeto Link
// Este objeto servirá para adicionarmos uma ação de linkagem a cada item no ComboBox preenchido anteriormente
var link = new Object();

// Criamos a função, que será automaticamente chamada quando algum item for selecionado.
link.change = function () 
{
    
    // Caso o item selecionado seja o nome Padrão
    // Este item padrão foi colocado dentro do nosso XML, sendo sempre o primeiro item
    if (cb_musicas.selectedItem=="Lista de Músicas")
    {
        // Não inicializa nada!
    }
    else
    {
         // Se não!
         // Para a música atual, caso tenha.
         _global.paraMusica();
         // Toca a música selecionada
         tocaMusica(cb_musicas.value);
         // Habilita a visualização dos controles
         _root.controles._visible=true;
         // Habilita a visualização dos botões
         mcPausa._visible=true;
         mcStop._visible=true;
         mcPlay._visible=false;
         // Habilita a visualização do Time
         tTime._visible=true;
    } 
};

// Arquivo XML a ser carregado
musicasXML.load("mp3/musicas.xml");

/////////////////////////////////////////////////////////////
////// FIM DE LEITOR DE XML E GERENCIAMENTO DE COMBOBOX /////
/////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////
//////////////////// SETAGEM INICIAL ////////////////////////
/////////////////////////////////////////////////////////////
// Desabilita a visualização de todos os botões
mcPausa._visible=false;
mcPlay._visible=false;
mcStop._visible=false;
tTime._visible=false;
// Declaramos as variaveis que receberão Volume e balanço
var vol:Number = 100;
var bal:Number = 0;
// Desabilitamos a visualização dos controles
_root.controles._visible=false;
// Desabilitamos a barra de progresso
_root.barra._visible = false;
_root.barra.barra_d._xscale = 1;
/////////////////////////////////////////////////////////////
//////////////// FIM DE SETAGEM INICIAL /////////////////////
/////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////
//////////////////////////// MENU ///////////////////////////
/////////////////////////////////////////////////////////////
// Cria um novo menu instanciado como MeuMenu
var meuMenu = new ContextMenu();
// Cria um novo item instanciado como item
var item = new ContextMenuItem();
// Adiciona um nome de exibição ao item
item.caption = "por www.solution4web.net";
// Ativa-o
item.enabled = true;
// Caso o item seja selecionado
item.onSelect = function (){
    // Adiciona um link
    getURL("http://www.solution4web.net/", "_blank");
};
// Adiciona o item ao menu
meuMenu.customItems = [item];
// Apaga os outros itens padrões
meuMenu.hideBuiltInItems();
// Adiciona o meuMenu ao Movie
_root.menu = meuMenu;
/////////////////////////////////////////////////////////////
//////////////////////// FIM DE MENU ////////////////////////
/////////////////////////////////////////////////////////////

//para que o player inicie tocando manter o código abaixo
_root.onEnterFrame()
{
     // Para a música atual, caso tenha.
     _global.paraMusica();
     // Toca a música selecionada
     tocaMusica("01");
     // Habilita a visualização dos controles
     _root.controles._visible=true;
     // Habilita a visualização dos botões
     mcPausa._visible=true;
     mcStop._visible=true;
     mcPlay._visible=false;
     // Habilita a visualização do Time
     tTime._visible=true;
};

o código está bem comentado, mas não intendo nada de flash :wacko:

Desde já agradeço.

Att

Este é o player que peguei para adptar ao meu site

Player

Se alguém poder dar uma olhada e me ajudar

Editado por D31v1d1
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,4k
×
×
  • Criar Novo...