Je suis en train de créer un plugin joueur JW, une partie du code source est indiqué ci-dessous:fonctions AS3 et accéder aux variables
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();
}
Je suis actuellement coincé sur l'obtention api.load (« ») pour charger le fichier. J'ai testé par anthropod et les variables ajoutées sont ok et le lien génère parfaitement.
Je pense que mon erreur essaie d'obtenir l'accès à api = player par la fonction completeHandler, mais elle ne le peut pas. Quelqu'un a une idée?
il sent un problème crossdomain.xml – Roki
Non, le chargeur d'URL se charge à partir du même domaine. player.swf et burstplugin.swf se chargent également à partir de ce même domaine. –
Couple de choses ... Je suppose que vous avez une variable de classe où vous stockez l'API? En outre, où initPlugin se termine-t-il? –