Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Blaudemon

[Resolvido] Mp3 Player - auto loop

Recommended Posts

Bom Dia pessoal! montei um mp3 player, ele funciona perfeitinho, n tenho o que reclamar, mas eu não sei como fazer pra tocar a proxima musica automaticamente..quando carrego o swf ele ja cmeça a tocar a musica 1, mas quando ela termina ele não pega a proxima musica automaticamente..eu preciso mudar pra ele começar a tocar!

Obrigado desde já!

 

stop();
   //Criando objeto som_sound
   var som_sound:Sound = new Sound();
   var numero:Number = 1;
   //Volume
   var vol:Number = 100;
   /*cria-se a função music com o parâmetro “musica” que indicará a música que será tocada pelo player.*/
   function music(musica) {
	  //criando todas as variáveis necessárias
	  var pos, verifica;
	  /*a função “loadSound” carrega a mp3 no objeto “som_sound”, com o caminho
	  especificado no parâmetro “musica”; true informa que será carregado por streaming*/
	  som_sound.loadSound(musica, true);
	  _root.onEnterFrame = function() {
		 //exibe o nome da música no campo musica_txt
		 artista_txt.text = som_sound.id3.artist;
		 musica_txt.text = som_sound.id3.songname;
		 //album_txt.text = som_sound.id3.album;
		 som_sound.setVolume(vol);
	  };
	  // ações dos botões ===============
	  //pára a música
	  stop_btn.onRelease = function() {
		 som_sound.stop();
	  };
	  //pausa a música
	  pause_btn.onRelease = function() {
		 acao = "pause";
		 pos = som_sound.position/1000;
		 som_sound.stop();
	  };
	  //dá o play
	  play_btn.onRelease = function() {
		 if (acao == "pause") {
			som_sound.start(pos, 1);
			acao = "";
		 } else {
			som_sound.start();
		 }
	  };
   }
   previous_btn.onRelease = function() {
	  if (_root.numero<>1) {
		 _root.numero -= 1;
	  }
	  musica = "musica"+numero+".mp3";
	  music(musica);
   };
   next_btn.onRelease = function() {
	  if (_root.numero<>10) {
		_root.numero += 1;
	  }
	  musica = "musica"+numero+".mp3";
	  music(musica);
   };
   vol_less_btn.onRelease = function() {
	  if (vol>=10) {
		 vol -= 10;
		 trace(vol);
	  }
   };
   vol_more_btn.onRelease = function() {
	  if (vol<=90) {
		 vol += 10;
		 trace(vol);
	  }
   };
   //=========================
   musica = "musica"+numero+".mp3";
   music(musica);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Amigo, substitua no início do seu código esse trecho:

musica = "musica"+numero+".mp3";
music(musica);

Para este:

this.som_sound.onSoundComplete = function() {
	if (_root.numero<>10) {
		_root.numero += 1;
		musica = "musica"+numero+".mp3";
		music(musica);
	}else{
		_root.numero = 1;
		musica = "musica"+numero+".mp3";
		music(musica);
	}
};

Explicando: Com esta função, a próxima música é carregada automaticamente após o término da atual, e de acordo com a quantidade de músicas declaradas, volta para a primeira música após o término da última.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A alteração que sugeri é somente no trecho no início do código, o restante permanece igual, caso tenha seguido corretamente a dica, poste o seu código após as alterações.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi mal Amigo, na verdade não é para substituir e sim incluir, testa isso aqui:

stop();
//Criando objeto som_sound
var som_sound:Sound = new Sound();
var numero:Number = 1;
//Volume
var vol:Number = 100;
/*cria-se a função music com o parâmetro “musica” que indicará a música que será tocada pelo player.*/
function music(musica) {
//criando todas as variáveis necessárias
var pos, verifica;
/*a função “loadSound” carrega a mp3 no objeto “som_sound”, com o caminho
especificado no parâmetro “musica”; true informa que será carregado por streaming*/
som_sound.loadSound(musica, true);
_root.onEnterFrame = function() {
//exibe o nome da música no campo musica_txt
artista_txt.text = som_sound.id3.artist;
musica_txt.text = som_sound.id3.songname;
//album_txt.text = som_sound.id3.album;
som_sound.setVolume(vol);
};

this.som_sound.onSoundComplete = function() {
	if (_root.numero<>10) {
		_root.numero += 1;
		musica = "musica"+numero+".mp3";
		music(musica);
	}else{
		_root.numero = 1;
		musica = "musica"+numero+".mp3";
		music(musica);
	}
};
	
// ações dos botões ===============
//pára a música
stop_btn.onRelease = function() {
som_sound.stop();
};
//pausa a música
pause_btn.onRelease = function() {
acao = "pause";
pos = som_sound.position/1000;
som_sound.stop();
};
//dá o play
play_btn.onRelease = function() {
if (acao == "pause") {
som_sound.start(pos, 1);
acao = "";
} else {
som_sound.start();
}
};

}
previous_btn.onRelease = function() {
if (_root.numero<>1) {
_root.numero -= 1;
}
musica = "musica"+numero+".mp3";
music(musica);
};
next_btn.onRelease = function() {
if (_root.numero<>10) {
_root.numero += 1;
}
musica = "musica"+numero+".mp3";
music(musica);
};
vol_less_btn.onRelease = function() {
if (vol>=10) {
vol -= 10;
trace(vol);
}
};
vol_more_btn.onRelease = function() {
if (vol<=90) {
vol += 10;
trace(vol);
}
};
//=========================
musica = "musica"+numero+".mp3";
music(musica);

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inicio ? mas o trecho que você mandou substituir aparece no final...e nas funções dos botões..

 

stop();
   //Criando objeto som_sound
   var som_sound:Sound = new Sound();
   var numero:Number = 1;
   //Volume
   var vol:Number = 100;
   /*cria-se a função music com o parâmetro “musica” que indicará a música que será tocada pelo player.*/
   function music(musica) {
	  //criando todas as variáveis necessárias
	  var pos, verifica;
	  /*a função “loadSound” carrega a mp3 no objeto “som_sound”, com o caminho
	  especificado no parâmetro “musica”; true informa que será carregado por streaming*/
	  som_sound.loadSound(musica, true);
	  _root.onEnterFrame = function() {
		 //exibe o nome da música no campo musica_txt
		 artista_txt.text = som_sound.id3.artist;
		 musica_txt.text = som_sound.id3.songname;
		 //album_txt.text = som_sound.id3.album;
		 som_sound.setVolume(vol);
	  };
	  // ações dos botões ===============
	  //pára a música
	  stop_btn.onRelease = function() {
		 som_sound.stop();
	  };
	  //pausa a música
	  pause_btn.onRelease = function() {
		 acao = "pause";
		 pos = som_sound.position/1000;
		 som_sound.stop();
	  };
	  //dá o play
	  play_btn.onRelease = function() {
		 if (acao == "pause") {
			som_sound.start(pos, 1);
			acao = "";
		 } else {
			som_sound.start();
		 }
	  };
   }
   previous_btn.onRelease = function() {
	  if (_root.numero<>1) {
		 _root.numero -= 1;
	  }
	  musica = "musica"+numero+".mp3";
	  music(musica);
   };
   next_btn.onRelease = function() {
	  if (_root.numero<>10) {
		_root.numero += 1;
	  }
	  musica = "musica"+numero+".mp3";
	  music(musica);
   };
   vol_less_btn.onRelease = function() {
	  if (vol>=10) {
		 vol -= 10;
		 trace(vol);
	  }
   };
   vol_more_btn.onRelease = function() {
	  if (vol<=90) {
		 vol += 10;
		 trace(vol);
	  }
   };
   //=========================	Mudei aqui 
 this.som_sound.onSoundComplete = function() {
	if (_root.numero<>10) {
		_root.numero += 1;
		musica = "musica"+numero+".mp3";
		music(musica);
	}else{
		_root.numero = 1;
		musica = "musica"+numero+".mp3";
		music(musica);
	}
};

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah agora deu certo!!! Obrigado!! :D

 

Ah..aproveitando da sua boa vontade..é muito complicado fazer com que o nome da musica fique rolando no musica_txt.text ?

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que funcionou!

Vou te dar um exemplo simples de ficar rolando o nome da música, (acredito que queira igual a um "Marquee"), mas isso pode ser feito de várias formas, isto é só para você ter uma idéia...

Prmeiro, defina como "texto" a variável para sua caixa de texto "musica_txt", depois efetue essa ateração no seu código:

Onde:

root.onEnterFrame = function() {
//exibe o nome da música no campo musica_txt
artista_txt.text = som_sound.id3.artist;
musica_txt.text = som_sound.id3.songname;
//album_txt.text = som_sound.id3.album;
som_sound.setVolume(vol);
};
Altere para:

_root.onEnterFrame = function() {
//exibe o nome da música no campo musica_txt
artista_txt.text = som_sound.id3.artist;
musica_txt.text = som_sound.id3.songname+"		  ";
//album_txt.text = som_sound.id3.album;
som_sound.setVolume(vol);
	onEnterFrame = function () {
		tmp = _root.texto.substr(0, 1);
		_root.texto = _root.texto.substr(1, _root.texto.length-1)+tmp;
	};
};

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa a demora!! muito obrigado ! funcionou certinho!! mas agora ele não mostra o nome do artista nem da musica..aparece Undefined...será que é pq não carregou a musica toda? pq se eu atualizar a pagina a primeira musica carrega o nome..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.