Аудиофайлы в формате mp3 могут содержать дополнительные данные о звуке в виде тегов ID3.
Не каждый mp3-файл содержит метаданные ID3. Когда объект Sound загружает аудиофайл в формате mp3, он отправляет событие
Event.ID3
, если файл содержит метаданные ID3. Чтобы избежать ошибок выполнения, приложение должно дождаться получения события
Event.ID3
, прежде чем обращаться к свойству
Sound.id3
загруженного звука.
Следующий код демонстрирует, как можно определить, загружены ли метаданные ID3 для аудиофайла.
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]);
}
}
Сначала код создает объект Sound и регистрирует для него прослушиватель события
Event.ID3
. После завершения загрузки метаданных ID3 аудиофайла вызывается метод
onID3InfoReceived()
. Целью объекта Event, переданного методу
onID3InfoReceived()
является исходный объект Sound, поэтому метод получает его свойство
id3
, а затем проходит через все названные свойства, чтобы отследить их значения.