0

それで、ようやくフラッシュアプ​​リケーションを動作させ、ウェブサイトで実行しましたが、しばらくすると動的テキストがフィールドに表示されなくなりました。ファイルは 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 で行われます

4

1 に答える 1

0

これを試して:

        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); を呼び出します。イベントがディスパッチされた後。いくつかの例外がありますが、通常は常に実行する必要があります。

于 2013-07-08T22:14:20.103 に答える