Ir para conteúdo

POWERED BY:

Arquivado

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

Donando

[Resolvido] Som Randomico Interrompido por mudança de Cena

Recommended Posts

Olá Amigos,

estou fazendo um site que já está ficando bem pesado. Resolvi "puxar" os audios do site com o loadSound para não pesar ainda mais o swf central do site.

 

Desenvolvi um pequeno código para tocar o som de forma randomica.

somArray = new Array(4);
somArray = ["audio1.mp3", "audio2.mp3", "audio3.mp3", "audio4.mp3"];
escolha = random(4);
var som:Sound = new Sound();
som.loadSound(somArray[escolha],true);
som.start(0,1);
som.setVolume(100);
som.onSoundComplete = function() {
gotoAndPlay(1); 
}; 
//quando aquele mp3 acaba, volta para o frame 1 do movie clip para tocar novamente um dos audios aleatoriamente. (loop)

Como o projeto tem muitos layers muitos longos, dividi para melhorar a organização, em cenas. É ai que está o meu problema, quando muda de cena o som para.

 

Alguém teria alguma dica para que o audio não seja interrompido ao mudar de cena?

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pegue o valor do som que vai ta tocando no caso a escolha 4... a position do som a cada segundo

E ai na proxima cena você pergunta se a position é > 0 se for maior que 0

 

Ele pega a variavel que você vai transformar em global escolha e a position que tbm vai ser uma variavel global e tocar a partir disso

 

Algo assim:


somArray = new Array(4);
somArray = ["audio1.mp3", "audio2.mp3", "audio3.mp3", "audio4.mp3"];
var som:Sound = new Sound();
if(_global.soundPosition > 0){
	som.loadSound(somArray[_global.escolha],true);
	som.start(_global.soundPosition,1);
	som.setVolume(100);
}else{
	_global.escolha = random(4);
	som.loadSound(somArray[escolha],true);
	som.start(0,1);
	som.setVolume(100);
	som.onSoundComplete = function() {
		gotoAndPlay(1); 
	};
}

som.onEnterFrame = function(){
	_global.soundPosition = som.position;
}

Vai ficar algo +/- assim não sei se vai funcionar pq não testei ;)

Mas o caminho é por ai.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito. Gênio!

Valeu Berseck!

 

dei uma adaptada e ficou assim:

somArray = new Array(4);
somArray = ["audio1.mp3", "audio2.mp3", "audio3.mp3", "audio4.mp3"];
var som:Sound = new Sound();
if (_global.soundPosition>0) {
	som.loadSound(somArray[_global.escolha],true);
	som.start(_global.soundPosition,0);
	som.setVolume(100);
} else {
	_global.escolha = random(4);
	som.loadSound(somArray[escolha],true);
	som.start(0,0);
	som.setVolume(100);
	som.onSoundComplete = function() {
		escolha = random(4);
		som.loadSound(somArray[escolha],true);
		som.start(0,0);
	};
}
onEnterFrame = function () {
	_global.soundPosition = som.position;
};

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.