swfにエクスポートすると正常に動作するフラッシュビデオプレーヤーを作成します。ただし、公開すると(F12)xmlファイルが読み込まれません。その結果、ビデオプレーヤーはフレーム2に固執しました(ビデオタイトルのリストが表示され、タイトルをクリックすると特定のビデオが再生されます)。xmlリンクは.xmlで終わりません。これがxmlのロードに関する私のコードです。Flash Playerを10.2から9に変更しようとしましたが、同じ問題が発生します。さらに、フレーム2の一部のボタンが機能しないのは、xmlの読み込みで「スタック」したためだと思います(swfでエクスポートすると正常に機能します)。
Flash Playerのバージョン:10.2、Actionscript:3.0、Flash Professional CS 5.5、fps:24、サイズ:850px(w)x480px(h)。フレーム2からのコード。お時間をいただきありがとうございます。
Security.allowDomain( "*" );
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import fl.controls.Label;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
var request:URLRequest = new URLRequest("http://www.olympiacos.org/feeds/videos")
loader.load(request);
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError)
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError)
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus2)
function onIOError(evt:IOErrorEvent){
trace("IOError: "+evt.text);
}
function onHTTPStatus2(evt:HTTPStatusEvent){
trace("HTTPStatus: "+evt.status);
}
function onSecurityError(evt:SecurityErrorEvent){
trace("SecurityError: "+evt.text);
}
function handleComplete(event:Event):void
{
try
{
var rawXML:XML = new XML(event.target.data);
trace(rawXML);
var list:XMLList = rawXML.channel.item;
for (var i:uint=0; i<list.length(); i++)
{
t_text.text = list.title.text()[i];
var data1:String = (list[i].description);
var srcRegExp:RegExp = /src="(.*?)"/;
var data2:String = srcRegExp.exec(data1)[1];
var lwr = data2.search(/1_/i);
var her = lwr + 10;
var data3 = data2.substring(lwr,her);
trace("Entry Id"+i+": "+data3);
List1.addItem({label:list.title.text()[i],data:data3});
}
}
catch (e:TypeError)
{
//Could not convert the data, probavlu because
//because is not formated correctly
trace("Could not parse the XML");
trace(e.message);
}
}
List1.addEventListener(Event.CHANGE, itemChange);
openbtn.addEventListener(MouseEvent.CLICK, opentween);
closebtn.addEventListener(MouseEvent.CLICK, closetween);
closebtn.visible=true;
openbtn.visible=false;
function itemChange(e:Event):void
{
if ( currentFrame == 2)
{
trace("Video selected");
gotoAndPlay(3);
}
t_text.text = List1.selectedItem.label;
var videoslcd = List1.selectedItem.data;
}
stop();