Ir para conteúdo

POWERED BY:

Arquivado

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

juniormatrix

Play automático e loop

Recommended Posts

Olá a todos

 

Pesquisando na net achei este player para MP3 que adicionei em um site que estou desenvolvendo:

 

var music:Sound = new Sound(new URLRequest("audio.mp3"));
var sc:SoundChannel;
var isPlaying:Boolean = false;
var pos:Number = 0;

pause_btn.addEventListener(MouseEvent.CLICK, pauseMusic);

function pauseMusic(e:Event):void
{
	if (isPlaying)
	{
		pos = sc.position;
		sc.stop();
		isPlaying = false;
	}
}

stop_btn.addEventListener(MouseEvent.CLICK, stopMusic);

function stopMusic(e:Event):void
{
	if(sc != null)
	{
		sc.stop();
		pos = 0;
		isPlaying = false;
	}
}

play_btn.addEventListener(MouseEvent.CLICK, playMusic);

function playMusic(e:Event):void
{
	if (!isPlaying)
	{
		sc = music.play(pos);
		isPlaying = true;
	}
}


//---VOLUME SLIDER---//
var dragging:Boolean = false;
var rectangle:Rectangle = new Rectangle(0,0,100,0);
volume_mc.slider_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragIt);
stage.addEventListener(MouseEvent.MOUSE_UP, dropIt);

function dragIt(e:Event):void
{
	volume_mc.slider_mc.startDrag(false,rectangle);
	dragging = true;
	volume_mc.slider_mc.addEventListener(Event.ENTER_FRAME, adjustVolume);
}

function dropIt(e:Event):void
{
	if (dragging)
	{
		volume_mc.slider_mc.stopDrag();
		dragging = false;
	}
}

function adjustVolume(e:Event):void
{
	var vol:Number = volume_mc.slider_mc.x / 100;
	var st:SoundTransform = new SoundTransform(vol);
	if (sc != null)
	{
		sc.soundTransform = st;
	}
}

Funcionou beleza, mas o que eu preciso é que o áudio comece a tocar automaticamente e que repita qdo chegar ao final (loop). Não sei como fazer isso. Se alguém puder me auxiliar, ficaria grato.

 

Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente substituir o valor booleano nestas linhas:

 

var isPlaying:Boolean = true;     // alterei para TRUE

 

e

 

function playMusic(e:Event):void
{
if (!isPlaying)
{
sc = music.play(pos);
isPlaying = false;     // alterei para FALSE
}

Não testei, mas já fiz algo semelhante para o player de um colega aqui do fórum abrir executando.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Elektra

 

Fiz as alterações conforme sugeriu, mas não deu certo, inclusive com as alterações o player não executa automaticamente e nem com o clique do mouse.

 

Estou fazendo outros testes, mas se ainda puder me ajudar, eu fico grato.

 

Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera, aproveitando o tópico...

-

Gostaria de saber como eu faria para que quando o PAUSE fosse clicado, a musica fosse "pausada" com o volume fazendo um "fade".

-

|| Por exemplo:

|-http://forum.imasters.com.br/index.php?app=forums&module=post&section=post&do=reply_post&f=9&t=412230

| Quando clicar, o volume vai do "100" ao "0", e ai sim a música é pausada.

| Porém a posição do pausa, será do momento em que foi clicado (quando o volume ainda estava no "100".

|-

-

Alguem saberia explicar isso? Ou algo semelhante?!

-

Obrigado, abraços à todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o evento COMPLETE do sound para que ele mande tocar novamente.

 

E chama a função de play, no final do script para que ele inicie tocando sozinho ;)

 

Abraços

 

Olá

 

Pois é, pesquisei sobre esse evento COMPLETE, achei alguma coisa, mas não consegui implantar no meu código. Sou leigo em AS3 e estou aprendendo 'na marra' como funciona. Sei que o ideal não é entregar o código pronto, mas eu infelizmente não tenho alternativa. Se puder me ajudar a implantar esse COMPLETE no meu código, eu ficaria muito grato.

 

Junior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma funçãozinha simples:

sound.addEventListener(Event.SOUND_COMPLETE, onSoundFinish);

function onSoundFinish(e:Event):void{
 //Aqui você faz o que você quizer com a função
}

E se quiser é só alterar o nome da função ali de onSoundFinish pelo nome da função que inicia o player no caso a playMusic em seu código

 

 

Abraços

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.