0

我已经将 youtube 视频嵌入到不同页面的不同帧的 flash 文件中,基本上,当我单击显示我的视频的页面时,youtube 视频仍在屏幕上,并且声音继续播放。我希望视频只显示在一帧上,并且当我切换帧时声音停止。这是我的代码:

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方法将孩子添加到孔movieClip而不是currentFrame,实际上没有办法将孩子添加到给定帧。

可能的解决方案是:

  1. 在需要插入播放器的框架中创建空精灵,并将此精灵用作支架。离开框架时不要忘记停止视频(Event.REMOVED_FROM_STAGE例如,您可以收听播放器的事件并在处理程序中停止视频)。

  2. 添加onEnterFrame事件侦听器并检查currentFrame属性,当它是目标帧时添加视频,否则删除视频。

于 2013-01-17T07:09:05.160 回答