1

YouTube ビデオが埋め込まれた Flash バナーがあります。ユーザーがボタンを押すと、バナーが特定のフレームに移動し、ビデオが再生されます。私がする必要があるのは、ビデオが終了した後、別のフレームに転送することです。

YouTube ビデオを取り込むために使用している AS3 は次のとおりです。

stop();

var player:Object;

Security.allowDomain("www.youtube.com");

var vidctn:Loader = new Loader();
vidctn.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
vidctn.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);

function onLoaderInit(e:Event):void{
addChild(vidctn);
player = vidctn.content;
player.addEventListener("onReady", onPlayerReady);
}

function onPlayerReady(e:Event):void{
player.destroy();
addChildAt(vidctn,0);
player.setSize(304,173);
player.x = 0;
player.y = 40;
player.mute();
player.loadVideoById("Dzz6lUsF19g",0,"large");
}

イベントリスナー、おそらく Event.COMPLETE が必要だと思っていますが、思いつかないようです。

4

1 に答える 1

0

これらは YouTube API の状態です (必要なのは YT_ENDED だけですが、すべてあると便利です):

        public static var YT_UNSTARTED:int = -1;
        public static var YT_ENDED:int = 0;
        public static var YT_PLAYING:int = 1;
        public static var YT_PAUSED:int = 2;
        public static var YT_BUFFERING:int = 3;
        public static var YT_CUED:int = 5;

リスナーを追加します。

        vidctn.contentLoaderInfo.addEventListener("onStateChange", onPlayerStateChange);

そしてここに関数があります:

        protected function onPlayerStateChange(event:Event):void {
            trace("youtubePlayer: player state:", Object(event).data);
            if(Object(event).data==YT_ENDED) {
                   //here you can do your stuff
            }
       }
于 2012-12-10T18:17:45.783 に答える