我已将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;
}
}
提前致谢
答案 0 :(得分:1)
addChild
方法将子项添加到hole movieClip而不是currentFrame,实际上没有办法将子项添加到给定框架。
可能的解决方案是:
在您需要插入播放器的帧中创建空精灵,并使用此精灵作为持有者。离开画面时不要忘记停止播放视频(例如,您可以收听播放器的Event.REMOVED_FROM_STAGE
事件并在处理程序中停止视频。)
添加onEnterFrame
事件监听器并检查currentFrame
属性,当它是目标帧时添加视频,否则删除视频。