Sounddateien im MP3-Format können zusätzliche Daten zum Sound in Form von ID3-Tags enthalten.
Nicht jede MP3-Datei enthält ID3-Metadaten. Wenn ein Sound-Objekt eine MP3-Sounddatei lädt, wird ein
Event.ID3
-Ereignis ausgelöst, falls die Sounddatei ID3-Metadaten enthält. Um Laufzeitfehler zu verhindern, sollte die Anwendung warten, bis sie ein
Event.ID3
-Ereignis empfangen hat. Erst dann sollte sie versuchen, auf die
Sound.id3
-Eigenschaft eines geladenen Sounds zuzugreifen.
Der folgende Code zeigt, wie die ID3-Metadaten einer geladenen Sounddatei erkannt werden:
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]);
}
}
Dieser Code beginnt mit dem Erstellen eines Sound-Objekts, das anschließend das
Event.ID3
-Ereignis überwachen soll. Wenn die ID3-Metadaten der Sounddatei geladen wurden, wird die
onID3InfoReceived()
-Methode aufgerufen. Das Ziel des Event-Objekts, das an die
onID3InfoReceived()
-Methode übergeben wird, ist das ursprüngliche Sound-Objekt. So erhält die Methode die
id3
-Eigenschaft des Sound-Objekts und durchläuft dann alle benannten Eigenschaften, um deren Werte abzurufen.