Вы можете попытаться отловить ошибку в id3Handler, если теги id3 не определены
function id3Handler(evt:Event):void {
try{
songInfo.text = /*song.id3.artist + ": " +*/ song.id3.songName;
}catch(e:Error)
{
trace(e );
//or...
songInfo.text = "No name"
}
}
, хотя у вас вполне может быть проблема с безопасностью, в этом случае будет возвращена информация id3. вы используете междоменный файл политики?
Извлечение из документов класса Sound:
Certain operations dealing with sound are restricted.
The data in a loaded sound cannot be accessed by a file in a different domain
unless you implement a cross-domain policy file.
Sound-related APIs that fall under this restriction are
Sound.id3 ,
SoundMixer.computeSpectrum(),
SoundMixer.bufferTime,
and the SoundTransform class.
Edit:
Вот очень разрешающий файл политики, скопируйте его, сохраните в файл и назовите файл
crossdomain.xml
затем загрузите его в корневую папку вашего сайта, например, например, на example.com
http://example.com/crossdomain.xml
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy> <site-control permitted-cross-domain-policies="all"/>
<allow- access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>
Если это работает, прочитайте эту статью
http://kb2.adobe.com/cps/142/tn_14213.html
и узнайте, как можно обезопасить свой сайт с помощью файла междоменной политики