Working with sound metadata
Sound files that use the mp3 format can contain additional data about the sound in the form of ID3 tags.
Not every mp3 file contains ID3 metadata. When a Sound object loads an mp3 sound
file, it dispatches an Event.ID3
event if the sound file contains ID3
metadata. To prevent run-time errors, your application should wait to receive
the Event.ID3
event before accessing the Sound.id3
property for a loaded
sound.
The following code shows how to recognize when the ID3 metadata for a sound file has been loaded:
import flash.events.Event;
import flash.media.ID3Info;
import flash.media.Sound;
var s:Sound = new Sound();
s.addEventListener(Event.ID3, onID3InfoReceived);
s.load("mySound.mp3");
function onID3InfoReceived(event:Event)
{
var id3:ID3Info = event.target.id3;
trace("Received ID3 Info:");
for (var propName:String in id3)
{
trace(propName + " = " + id3[propName]);
}
}
This code starts by creating a Sound object and telling it to listen for the
Event.ID3
event. When the sound file's ID3 metadata is loaded, the
onID3InfoReceived()
method is called. The target of the Event object that is
passed to the onID3InfoReceived()
method is the original Sound object, so the
method then gets the Sound object's id3
property and then iterates through all
of its named properties to trace their values.