Sexta-feira, 13 de dezembro de 2002 às 03h59

Flash MX: Player

Conheça o curso ao vivo: Redes e Protocolos TCP/IP Avançado com Laboratório

Olá pessoal !

Hoje, iremos aprender como fazer um simples Player MP3 ou de qualquer outro tipo de extensão de som. Este Player irá ter as seguintes ações:

• Botão Stop
• Botão Pause
• Botão Play
• Botão Avançar
• Botão Retroceder
• Tempo total da música
• Tempo já percorrido da música
• Nome da música

Abaixo podemos observar o nosso Player que faremos hoje.

Vamos lá !!!

1- Primeiramente, iniciaremos pela a organização da nossa Timeline. Crie 4 (quatro) layers (camadas), e nomei da seguinte forma:

• Actions
• Variáveis
• Botões
• Layout

Na camada layout dete nosso exemplo, eu utilizei um Skin do Windows Media Player (Copyright Microsoft Corp.) para demonstrar no nosso exemplo a diversidade que podemos fazer do nosso Player.

2- Nossa próxima camada será a botões. Nesta camada criaremos os botões, aos quais me referir anteriormente. Abaixo estarei mostrando as instâncias dos botões que utilizaremos neste exemplo, sendo que as ações nós iremos definir pela nossa TimeLine. Confira:

• Botão Stop (bt_parar)
• Botão Pause (bt_pausar)
• Botão Play (bt_tocar)
• Botão Avançar (bt_avançar)
• Botão Retroceder (bt_retroceder)

Esses será nossos botões. Em breve estarei mostrando um exemplo mais avançado de Player, com ajuste de volume e balanço, e com a importação das músicas através de um arquivo XML. Aguardem!!

3- Continuando, adicionaremos as seguintes variáveis no nosso exemplo:

- musica;
- duracao;
- posicao;

Observe como irá estar a nossa após o término do nosso exemplo:



Até aqui tudo bem, agora iremos para as nossas actions. No 1º frame da nossa camada actions, adicione o seguinte Script:

» 1º Frame

// abaixo nós criamos uma novo instância de Som
som = new Sound();
// colocamos a string que aparecerá na nossa variável musica.
musica = "One Last Breath";
// carregamos o nosso arquivo através da opção loadSound
som.loadSound("One_Last_Breath.mp3",false);
// criamos uma variável local minutosD que realiza uma pequena operação matemática para extrair o número de minutos da música através da propriedade duration.
minutosD= ((_root.som.duration / 1000) - ((_root.som.duration /
1000) % 60)) / 60;
// acontece quase a mesma coisa com a veriável segundosD, mas só que ela extrai os segundos restantes da música também através da propriedade duration.
segundosD = ((_root.som.duration / 1000) % 60) - (((_root.som.duration / 1000) % 60) %1);
// em seguida, concatenamos os valores das duas variáveis com outros outros dados, para formar uma string que conterá o tempo de duração da música na forma MM:SS.
duracao = (minutosD<10 ? "0" + minutosD : minutosD) + ":" + (segundosD<10 ? "0" + segundosD : segundosD);
// Essas três variáveis abaixo serão empregadas para controles no script da frame 2
posAtual = 0;
posRetr = 0;
posAvan = 0;

» 2º Frame

Neste frame iremos estar mostrando o script da variável posicao e de todos os botões, veja abaixo:

// A ação abaixo é idêntica a ação do primeiro frame, mas com algumas alteraçãos. Aqui definimos uma nova variável chamada posicao. E a outra diferença é que este frame será atualizado constantemente buscando sempre o valor da posição atual da música através da ação que colocaremos no terceiro frame.
minutosP = ((_root.som.position / 1000) - ((_root.som.position / 1000) % 60)) / 60;
segundosP = ((_root.som.position / 1000) % 60) - (((_root.som.position / 1000) % 60) % 1);
posicao = (minutosP<10 ? "0" + minutosP : minutosP) + ":" + (segundosP<10 ? "0" + segundosP : segundosP);

// O script abaixo ele informa as ações do botão Play através do método Start().
bt_tocar.onRelease = function() {
_root.som.stop();
_root.som.start(posAtual);
posAtual = 0;
};

// O botão Stop tem como objetivo reiniciar a operação. Depois que é acionado, é passado o valor da posAtual como ZERO.
bt_parar.onRelease = function() {
_root.som.stop();
posAtual = 0;
};

// O botão Pause recebe o valor na variável posAtual e para a execução naquele determinado valor.
bt_pausar.onRelease = function() {
posAtual = _root.som.position / 1000;
_root.som.stop();
};

// O botão Retroceder apanha o valor do tempo decorrido até o momento em que ele é acionado e reduz 1 (um) segundo do tempo da música..
bt_retroceder.onPress = function() {
posRetr = _root.som.position / 1000;
posRetr -= 1;
_root.som.stop();
if (posRetr < 0) {
posRetr = 0;
}
_root.som.start(posRetr);
};

// O botão Avançar faz o inverso do botão Retroceder, pois ele soma 1 (um) segundo ao tempo transcorrido..
bt_avancar.onPress = function() {
posAvan = _root.som.position / 1000;
posAvan += 1;
_root.som.stop();
if (posavan > (_root.som.position / 1000)) {
posretr = _root.som.position / 1000;
}
_root.som.start(posAvan);
};

» 3º Frame

// O objetivo desta ação é fazer com que a nossa ação do nosso frame 2 seja atualizado remotamente.
gotoAndPlay (2)

Clique aqui para fazer o download dos arquivos

Espero que tenham gostado !

Qualquer dúvida basta entrar em contato comigo, ou postar uma mensagem no Fórum.

Abraços...

2 comentários

 Rangel
29/03/2010 10h09

Olá muito bom, gostaria de saber como faço pra puxar as músicas se tiver dentro de uma pasta musicas e swf dentro de uma pasta SWF qual caminho no flash ??


Abss.

 Igor
21/05/2010 23h27

Muito bom o post mas as imagens de exemplo não estão aparecendo amigo e o link final para baixar os arquivos esta queabrado

Cancelar resposta

Qual a sua opinião?

Se você já possui conta iMasters, o login será feito abaixo.

Atenção: comentários considerados spams e/ou ofensivos serão moderados.
Sobre o Autor
Tiago Colombo é Analista de Sistema, certificado MCAD.NET (Microsoft Certified Application Developer for Microsoft .NET) e atualmente trabalha com projetos na plataforma .NET. Especializando-se em Sistemas de Banco de Dados no IBTA (Instituto Brasileiro de Tecnologia Avançada), trabalha com .NET desde 2003 e têm atuado em diversos projetos de todos os portes.

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.