我正在尝试使用Youtube AS3 API将一些Youtube视频显示到我的Flash电影中,但当我将其上传到我自己的服务器时,浏览器会显示此消息:
错误#2044 :SecurityErrorEvent:text =错误#2121:沙箱安全 违规行为:http:// * /magicbook.swf?user=25&id=2283: http://www.youtube.com/apiplayer?version=3无法访问。
我已经添加了Security.allowDomain
个政策,以便允许两个服务器之间的访问。我做错了什么?
这是我的代码:
class YoutubePlayer extends Sprite {
private var player:Object;
private var loader:Loader;
private var _videoID:String;
public function YoutubePlayer(videoID:String) {
Security.allowInsecureDomain("*");
Security.allowDomain("*");
//loader = addChild(new Loader()) as Loader;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit, false, 0, true);
loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
_videoID = videoID;
}
private function onLoaderInit(event:Event):void {
player = loader.content;
player.addEventListener("onReady", onPlayerReady);
}
private function onPlayerReady(event:Event):void {
player.setSize(320, 180);
player.cueVideoByUrl("http://www.youtube.com/v/"+_videoID,0);
player.addEventListener("onError",seeError);
this.addChild(loader);
}
private function seeError(event:Event):void{
trace("error");
}
public function playYoutube():void{
player.playVideo();
}
public function stopYoutube():void{
player.stopVideo();
}
}
答案 0 :(得分:0)
我假设顶部有一个“import flash.system.Security”。
我自己非常相似的代码工作正常,唯一的主要区别是:
希望这些差异有所帮助..我不是真正的flash / actionscript专家。