2012-11-20 8 views
0

내 플래시 동영상으로 일부 유튜브 비디오를 표시하는 유튜브 AS3 API를 사용하기 위해 노력하고있어,하지만 난 내 자신의 서버에 업로드 할 때, 브라우저가 나에게이 메시지를 보여주고있다 :유튜브 AS3 API 도메인 간

오류 # 2044 :는 SecurityErrorEvent : 텍스트 = 오류 # 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

나는 상단에 "수입 flash.system.Security"이 있다고 믿고있어 :

여기 내 코드입니다.

내 자신과 매우 유사 코드는 잘 작동하고 유일한 주요 차이점은 다음과 같습니다

  • 나는 몇 가지 이유를 들어 (가로드되지 전) INIT 이벤트 핸들러
  • 에 무대에 로더를 추가 Security.allowDomain ("*") 및 Security.allowDomain ("www.youtube.com")을 가지고 있습니다. 이유가 확실하지 않습니다. (버그 일 수는 있지만 지금은 테스트 할 수 없습니다.)

바라건대 이러한 차이점이 도움이됩니다. 저는 실제로 플래시/액션 스크립트 전문가는 아닙니다.

+0

나는 당신이 말한 것을 시도했지만 여전히 오류를 보여줍니다. –