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 /////////////////////
/////////////////////////////////////////////////////////////



Postagens
Male
