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...
Rangel
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
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
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.