0

さまざまなページのさまざまなフレームでYouTubeビデオをフラッシュファイルに埋め込みました。基本的に、ビデオを表示しているページをクリックすると、YouTubeビデオは画面に表示されたままで、サウンドは再生され続けます。ビデオを1つのフレームにのみ表示し、フレームを切り替えたときに音声が停止するようにしたい。これが私のコードです:

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

var player : Object;
var mute : Boolean = false;

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

playButton.addEventListener(MouseEvent.CLICK, playVideo);
pauseButton.addEventListener(MouseEvent.CLICK, pauseVideo);
muteButton.addEventListener(MouseEvent.CLICK, muteVideo);

function onLoaderInit(event:Event):void {
     addChild(loader);
     loader.content.addEventListener("onReady", onPlayerReady); 
}

function onPlayerReady(event:Event):void {
     player = loader.content;
     player.setSize(520, 265);
     player.x = 230;
     player.y = 370;
     player.cueVideoByUrl("http://www.youtube.com/v/G-P9fO4g2Jc", 0);
}

function playVideo(event:MouseEvent):void {
     player.playVideo();
}    

function pauseVideo(event:MouseEvent):void {
    player.pauseVideo();
}

function muteVideo(event:MouseEvent):void {
    if(!mute){
        player.mute();
        mute = true;
        return;
    }
    else {
        player.unMute();
        mute = false;
    }
}

前もって感謝します

4

1 に答える 1

1

このaddChildメソッドは、currentFrameではなくホールmovieClipに子を追加します。実際には、giveフレームに子を追加する方法はありません。

考えられる解決策は次のとおりです。

  1. プレーヤーを挿入する必要があるフレームに空のスプライトを作成し、このスプライトをホルダーとして使用します。フレームを離れるときにビデオを停止することを忘れないでください(Event.REMOVED_FROM_STAGEたとえば、プレーヤーのイベントを聞いて、ハンドラーでビデオを停止することができます)。

  2. onEnterFrameイベントリスナーを追加し、currentFrameプロパティを確認します。ターゲットフレームの場合は、ビデオを追加します。それ以外の場合は、ビデオを削除します。

于 2013-01-17T07:09:05.160 に答える