|
Ao carregar um arquivo MP3 em uma aplicação Flex, temos as tags ID3 que fazem parte do MP3 onde encontramos algumas informações referente ao artista, ao album, ao ano de gravação, generos e etc...
Essas informações são necessárias ao criar um player de MP3, com isso, vamos ver como carregar essas informações.
Primeiro criamos um MXML com os texts e labels para receber essas informações:
mp3Player.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" height="225" width="357">
<mx:Text x="65" y="23" id="tTitulo" fontWeight="bold" color="#FFFFFF"/>
<mx:Label x="10" y="23" text="Música:" fontWeight="bold" color="#000000"/>
<mx:Label x="10" y="60" text="Artista:" fontWeight="bold" color="#000000"/>
<mx:Label x="11" y="96" text="Album:" fontWeight="bold" color="#000000"/>
<mx:Label x="24" y="130" text="Ano:" fontWeight="bold" color="#000000"/>
<mx:Text x="65" y="60" id="tArtista" fontWeight="bold" color="#FFFFFF"/>
<mx:Text x="65" y="96" id="tAlbum" fontWeight="bold" color="#FFFFFF"/>
<mx:Text x="64" y="130" id="tAno" fontWeight="bold" color="#FFFFFF"/>
<mx:Button x="24" y="176" label="Play" id="btPlay" click="{PlaySong()}"/>
</mx:Application>
Precisamos importar algumas classes que são necessárias para carregar o MP3 e a tag:
import flash.media.Sound;
import flash.media.ID3Info;
import flash.net.URLLoader;
Definiremos algumas variáveis para tratar as informações:
private var musica:Sound;
private var load:URLLoader;
private var id3:ID3Info;
private var played:Boolean = false;
Vamos ver o Código ActionScript com toda a implementação:
<mx:Script>
<![CDATA[
import flash.media.Sound;
import flash.media.ID3Info;
import flash.net.URLLoader;
private var musica:Sound;
private var load:URLLoader;
private var id3:ID3Info;
private var played:Boolean = false;
private function Constructor():void
{
musica = new Sound(new URLRequest("mp3/lulu.mp3"));
musica.addEventListener(Event.ID3, id3Handler);
}
private function id3Handler(e:Event):void
{
id3 = musica.id3;
tAlbum.text = id3.album;
tAno.text = id3.year;
tArtista.text = id3.artist;
tTitulo.text = id3.songName;
}
private function PlaySong():void
{
if(!played)
{
musica.play();
played = true;
}
}
]]>
</mx:Script>
Bom, dessa forma, teremos o carregamento do MP3 na tela, e ao clicar no botão play, tocaremos a música carregada.
Veja funcionando abaixo:
|