baixei um player de mp3 para site em flash e as musicas não passa de uma para a outra automaticamente, alguem poderia me dizer o que ha de errado
/* Matéria Player de MP3 com XML, ComboBox, Controles e Time no Macromedia Flash 8 Revista WWW.COM.BR Editora Europa Autor: Johnatan Oliveira E-mail: contato@johnatan.net Site: http://www.johnatan.net */ //////////////////////////////////////////////// //////////////////// 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 = "action by: www.johnatan.net"; // Ativa-o item.enabled = true; // Caso o item seja selecionado item.onSelect = function (){ // Adiciona um link getURL("http://www.johnatan.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 ////////////////// //////////////////////////////////////////////// ////////////////////////////////////////////////////// ////////////// FUNÇÕES DE INTERAÇÃO ////////////////// ///////////////////////////////////////////////////// // Primeira Função a ser chamada assim que ComboBox for selecionado _global.tocaMusica = function(nome){ // Diretorio das musicas! var diretorio:String = "musicas/"; // Variavel que contem, diretorio + nome da musica! var lista = diretorio + nome; // 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 valor do Text com o valor da variavel vol _root.controles.txtvolume.text = 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); // Setamos o valor do Text com o valor da variavel bal _root.controles.txtbalanco.text = 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 BUTÕES ////////////////// ///////////////////////////////////////////////////////////// // Gerenciamento do Butã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 Butão Pausa mcPausa.onRelease = function (){ // Pausa Musica _global.pausaMusica(); }; // Gerenciamento do Butão Stop mcStop.onRelease = function (){ // Para Musica _global.paraMusica(); }; // Gerenciamento do Butã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 Butã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; } } // Gerenciamento do Butão Aumenta Balanço controles.balAumenta.onRelease = function (){ // Se o balanço foi igual a 100 if (bal == 100) { // Não aumenta nada bal += 0; } else { // Se não! Aumenta de 10 em 10 bal += 10; // Seta o novo balanço _global.novoSom.setPan(bal); // Modifica o Text de balanço _root.controles.txtbalanco.text = bal; } } // Gerenciamento do Butão Diminui Balanço controles.balDiminui.onRelease = function (){ // Se o balanço foi igual a -100 if (bal == -100) { // Não Diminui nada bal -= 0; } else { // Se não! Diminiu de 10 em 10 bal -= 10; // Seta o novo balanço _global.novoSom.setPan(bal); // Modifica o Text de balanço _root.controles.txtbalanco.text = bal; } } ///////////////////////////////////////////////////////////// ////////////// FIM DE GERENCIAMENTO DOS BUTÕ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(":"); /* _global.novoSom.duration = Retorna a duração de um som em milisegundos. _global.novoSom.position = Retorna a posição do som em milisegundos. */ // 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("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=="Selecione Uma Música"){ // Não inicializa nada! break; }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("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 ///////////////////// /////////////////////////////////////////////////////////////