Site Meter
Abr 21
Carregando Tags ID3 a partir de um MP3
 

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:

 
Comentários(0) Print del.icio.us Salvar
 

Comentários (Seu comentário não aparecerá até ser aprovado.)

 
Sem comentários no momento

Autor

Paulo Teixeira

Bookmark and Share


Busca


Categorias

Adobe [25]

AIR [20]

Certificações [1]

CFUG-BR [2]

ColdFusion [14]

Consultoria [1]

Dicas [22]

Eventos [5]

Flex [23]

Flex Cookbook [1]

Geral [14]

LCDS [1]

OOP/Patterns [6]

Tutoriais [13]



Por onde ando

Adobe

AIR Feed

Ben Forta

Blog Leo Caseiro

CFGIGOLÔ

CFUG-BR Adobe Groups

CFUGBR

ColdFusion Feed

Devnet ColdFusion

Flex Feed

Got API

Lauro Santos

My Adobe Groups

My BlipFm

My Flickr

My LinkedIn

My Twitter

Pcsilva

Por que CF?

Programming Land!

Rafael Capucho

Silvio Delgado Blog

Tofinha

Why CF?


Favoritos

Você precisa ter uma conta no blog para ter favoritos


  Credenciais


  Comentários

Bom post Paulo. Realmente a evolução em relação a desempenho...

João Felipe - Jotaef

Olá, por favor, gostaria de mais informações a respeito do timesheet....

Raquel

Hi Paulo, I have just downloaded your RIABox AIR Browser to...

Theo Cosmora

Olá Paulo, Gostei da iniciativa e achei bem interessante! Parabéns! Entendo...

Fernando Arruda

Olá, Paulo. Que tal implementar nesta aplicação um módulo que gere...

Felipe Magalhães


  Parceiros


  Assine

     RSS

     LOGIN

 

  AIRRotas

  RiaBox