buzz.all()。静音()在iframe中不起作用

时间:2012-07-05 16:26:14

标签: javascript html5 iframe buzz.js

我在HTML5游戏中使用Buzz库作为我的音频。要在没有音乐停止的情况下跨菜单,我会在iframe中加载每个菜单,并从主页面启动音乐:

<body style="overflow: hidden">
    <iframe id="MainFrame" src="./mainmenu.html" 
     frameborder=0 seamless="seamless" class="mainframe"></iframe>

    <script>
        window.onload = function() {
            playLoop('audio/menumusic.mp3');
        }
</script>
</body>

var playLoop = function(name)
{
    sound = new buzz.sound(name, {preload: true, loop: true});
    sound.play();
    setInitialSoundState(sound);
    loops.add(sound);
}

我希望能够切换/更改iframe中加载的页面中的音乐。但每当我使用

buzz.all().mute();
没有任何反应。我猜测iframe中的buzz变量和主页中的buzz变量不一样。如何访问主页buzz以便所有音乐都正确静音?

如果需要,我很乐意提供更多细节。

1 个答案:

答案 0 :(得分:1)

试试这个:

window.parent.buzz.all().mute();
// window.parent references an iframe's parent window
// or the current window if the call is made from a regular page (i.e. not in an iframe)