所以我终于让我的flash应用程序工作起来,并在网站上运行,但过了一段时间,动态文本就不再显示在字段中了。该文件设置为每5秒循环一次,并且应该更新以显示正在播放的工作人员和当前正在播放的内容。网站链接为http://mischieffm.com/
var xmlData:XML = new XML();
var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache");
var theURL_ur:URLRequest = new URLRequest ("/stream/shout.xml?rnd=" + Math.random());
var loader_ul:URLLoader = new URLLoader(theURL_ur);
loader_ul.addEventListener("complete", fileLoaded);
function fileLoaded(e:Event):void
{
xmlData = XML(loader_ul.data);
show_txt.text = xmlData.SERVERTITLE;
song_txt.text = xmlData.SONGTITLE;
}
这一切都是在cs6 flash pro和actionscript 3 中完成的
试试这个:
function fileLoaded(e:Event):void
{
loader_ul.removeEventListener("complete", fileLoaded);
xmlData = new XML(loader_ul.data);
if (xmlData.SONGTITLE && xmlData.SERVERTITLE)
{
show_txt.text = xmlData.SERVERTITLE;
song_txt.text = xmlData.SONGTITLE;
}
else
{
show_txt.text = "Untitled artist";
song_txt.text = "Untitled song";
}
}
注意:为了防止内存泄漏,请始终调用removeEventListener("someEvent",someMethod);在您的活动发送之后。有一些例外情况,但通常你应该一直这样做。