Я пытаюсь создать игрок плагин JW, часть исходного кода приведена ниже:AS3 функция и доступ к переменному
public function initPlugin(player:IPlayer, config:PluginConfig):void {
api = player;
var streamUrl:String = 'xxx';
var streamSecret:String = 'xxx';
var xid:String = config['xid'];
var request:URLRequest = new URLRequest("xxx"+xid);
request.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(request);
var fileName:String, drive:String, userFolder:String, t_hex:String, linkType:String
function completeHandler(evt:Event) {
linkType = evt.target.data.linkType;
fileName = evt.target.data.filename;
drive = evt.target.data.drive;
userFolder = evt.target.data.userFolder;
t_hex = evt.target.data.t_hex;
if (linkType == "1")
{
/*
PHP will generate these variables for the plugin.
fileName, drive, userFolder, t_hex
*/
var relPath:String = "/"+drive+"/"+userFolder+"/"+fileName;
var md5Hash = MD5.encrypt (streamSecret+relPath+t_hex);
var link:String = streamUrl+md5Hash+"/"+t_hex+relPath;
} else
{
}
api.load('http://music-stream.burst-dev.com/test.flv');
api.play();
}
В настоящее время я застрял на том, чтобы api.load («») чтобы загрузить файл. Я тестировал антроподы, и добавляемые переменные - все в порядке, и связь генерируется отлично.
Я думаю, что моя ошибка пытается получить api = игрока для доступа к функции completeHandler, но он не в состоянии. У кого-нибудь есть идеи?
это запах проблемы crossdomain.xml – Roki
Нет, загрузчик URL загружается из того же домена. player.swf и burstplugin.swf также загружаются из того же домена. –
Пара вещей ... Предполагаю, что у вас есть переменная класса, в которой вы храните api? Кроме того, где заканчивается initPlugin? –