Flash Youtube嵌入问题

时间:2013-01-16 22:21:12

标签: actionscript-3 flash youtube embed

我已将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;
    }
}

提前致谢

1 个答案:

答案 0 :(得分:1)

addChild方法将子项添加到hole movieClip而不是currentFrame,实际上没有办法将子项添加到给定框架。

可能的解决方案是:

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

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