в надежде найти немного направления и помочь с неприятной проблемой прямо сейчас.
Изначально я думал, что это проблема с моим оператором Try / Catch, но на самом деле моя проблема на самом деле просто пытается сделатьотметьте оператор If / Else, чтобы узнать, может ли мой проигрыватель Flash получить какие-либо данные из flashVar.Если flashVar VID = отлично, иначе прочитайте из XML-файла.
В основном это то, что мне нужно, чтобы это произошло:
- Проверьте, есть лизначения flashVar
- Если это так, загрузите другие файлы Class и НЕ получите XML-файл
- Если нет, запустите код в операторе Catch и загрузите файл XML
ОБНОВЛЕННЫЙ КОД Я добавил много комментариев, чтобы объяснить, что я пытаюсь сделать: (
public function playerLive():void
{
// Attempt to load from HTML EMBED
// Maybe the problem is here?
// Tried different syntax / keywords no luck so far
//if (this.loaderInfo.parameters["VID"])
//if (stage.loaderInfo.parameters["file"])
//if (this.loaderInfo.parameters.hasOwnProperty("file"))
if(root.loaderInfo.parameters.hasOwnProperty("VID") && root.loaderInfo.parameters.VID != null)
{
// Trying keyword root
varVid = root.loaderInfo.parameters.VID;
varChid = root.loaderInfo.parameters.CHID;
vidURL = root.loaderInfo.parameters.file;
vidSplit = vidURL.split(".flv")[0].split("/");
vidTitle = root.loaderInfo.parameters.title;
vidKey = root.loaderInfo.parameters.keyURL;
// - Trying keyword stage
/*varVid = stage.loaderInfo.parameters.VID;
varChid = stage.loaderInfo.parameters.CHID;
vidURL = stage.loaderInfo.parameters.file;
vidSplit = vidURL.split(".flv")[0].split("/");
vidTitle = stage.loaderInfo.parameters.title;
vidKey = stage.loaderInfo.parameters.keyURL;*/
// - Trying keyword this
/*varVid = this.loaderInfo.parameters.VID;
varChid = this.loaderInfo.parameters.CHID;
vidURL = this.loaderInfo.parameters.file;
vidSplit = vidURL.split(".flv")[0].split("/");
vidTitle = this.loaderInfo.parameters.title;
vidKey = this.loaderInfo.parameters.keyURL;*/
setup();
} else {
varVid = urlVars.VID
varChid = urlVars.CHID
xmlURL = "http://www.howdini.com/H_player_xml.php?VID="+varVid+"&CHID="+varChid;
readXML();
}
// The old code
/*try {
varVid = this.loaderInfo.parameters.VID;
varChid = this.loaderInfo.parameters.CHID;
vidURL = this.loaderInfo.parameters.file;
vidSplit = vidURL.split(".flv")[0].split("/");
vidTitle = this.loaderInfo.parameters.title;
vidKey = this.loaderInfo.parameters.keyURL;
setup();
// Facebook Player
} catch (e) {
varVid = urlVars.VID
varChid = urlVars.CHID
xmlURL = "http://www.howdini.com/H_player_xml.php?VID="+varVid+"&CHID="+varChid;
readXML();
}
}*/
}
function readXML():void
{
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onXmlLoadSuccess);
loader.addEventListener(IOErrorEvent.IO_ERROR, onXmlLoadFailed);
loader.load(new URLRequest(xmlURL));
}
function onXmlLoadFailed(event:IOErrorEvent):void
{
//xml failed to load;
}
function onXmlLoadSuccess(event:Event):void
{
//parse your xml, then run setup;
setup();
}
Как выглядит код для встраивания (некоторые значения переименованы по соображениям безопасности):
<object width=450 height=292 border=0 >
<embed src="http://dev.mysite.com/flvplayer_lite.swf" width="450" height="292"
flashvars="file=http://limelightserver.net/o18/VideoName.flv&VID=13&CHID=6&title=Video Title&keyURL=118258&autostart=false&showfsbutton=false&c1=1&c2=8430754&c3=8430754&c4=Category Namec5=02" type="application/x-shockwave-flash" border="0" wmode="transparent">
</embed>
</object>