2011-03-16 113 views
0

我想外部SWF(JW球員)加載到使用loadBytes我的AIR應用程序。我使用下面的代碼:加載外部SWF到AIR應用

import flash.display.Loader; 
import flash.display.LoaderInfo; 
import flash.display.Sprite; 
import flash.events.Event; 
import flash.net.URLLoader; 
import flash.net.URLLoaderDataFormat; 
import flash.net.URLRequest; 
import flash.system.ApplicationDomain; 
import flash.system.LoaderContext; 
import flash.utils.ByteArray; 

public function Invoker() 
{ 
trace("INIT"); 
var uldr : URLLoader = new URLLoader(); 
uldr.dataFormat = URLLoaderDataFormat.BINARY; 
uldr.addEventListener(Event.COMPLETE, onBytesComplete); 
uldr.load(new URLRequest("Resources/5.1.swf")); 
} 

private function onBytesComplete(e : Event) : void 
{ 
trace("LOADED"); 
var bytes : ByteArray = (e.target as URLLoader).data; 
var ldr : Loader = new Loader(); 
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onChildComplete); 
var ldrC : LoaderContext = new LoaderContext(); 
ldrC.allowLoadBytesCodeExecution = true; 
ldr.loadBytes(bytes, ldrC); 

} 

private function onChildComplete(e : Event):void 
{ 
trace("COMPLETE"); 
var c1ad : ApplicationDomain = (e.target as LoaderInfo).applicationDomain; 
var inad : ApplicationDomain = ApplicationDomain.currentDomain; 
trace(c1ad); 
trace(inad); 
} 

但是,當我把

uic.addChild(LDR);canv.addChild(LDR);(UIC是MX:UIComponent和canv是MX:帆布) 到onBytesComplete功能,我得到以下錯誤:

SecurityError: Error #3207: Application-sandbox content cannot access this feature. 
    at flash.system::Security$/allowDomain() 
    at com.longtailvideo.jwplayer.media::YouTubeMediaProvider/initializeMediaProvider() 
    at com.longtailvideo.jwplayer.model::Model/setMediaProvider() 
    at com.longtailvideo.jwplayer.model::Model/setupMediaProviders() 
    at com.longtailvideo.jwplayer.controller::PlayerSetup/setupMediaProviders() 
    at com.longtailvideo.jwplayer.controller::TaskQueue/nextTask() 
    at com.longtailvideo.jwplayer.controller::TaskQueue/success() 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at com.longtailvideo.jwplayer.view.skins::DefaultSkin/loadComplete() 

主意?請幫忙!

謝謝指教!

回答

0

明白了!

我在JW播放器源類改變了一些功能。

COM/longtailvideo/jwplayer /媒體/ YouTubeMediaProvider.as在功能initializeMediaProvider()加入的Security.allowDomain( 「*」);

COM/longtailvideo/jwplayer /模型/ Model.as在功能setupMediaProviders()評論的行:setMediaProvider( '默認',新MediaProvider( '缺省'));setMediaProvider( '的YouTube',新YouTubeMediaProvider());

我沒有使用YouTube,所以它工作正常!

希望這會有所幫助!