从javascript事件中停止闪存中的音乐

时间:2009-04-01 18:13:59

标签: javascript flash

我试图阻止我在页面中加载的flash swf中的音乐

<object id="FlashControl1" type="application/x-shockwave-flash"
data="Flash/Preloader%20-%20Splash.swf" width="980px" height="316px">
<param name="movie" value="Flash/Preloader%20-%20Splash.swf" />
<param name="wmode" value="Transparent" />
<param name="quality" value="High" />
<param name="play" value="True" />
<param name="loop" value="False" />
<param name="menu" value="False" />
<param name="scale" value="Exactfit" />
<param name="flashvars" value="name="FlashControl1"" />
<img src="Images/Banner/Main_Banner.jpg" alt="" width="980px" height="316px" />
</object>

我有一个按钮,可以加载带有silverlight视频的模态弹出窗口,我希望通过执行SoundMixer.stop()来停止音频;命令。

我还没有在谷歌上找到解决方案

3 个答案:

答案 0 :(得分:2)

在Flash文件中,您必须具有以下功能:

function stopSound():void {
    SoundMixer.stop();
}

然后,您必须使其可用于JavaScript调用

ExternalInterface.addCallback('stopSound', stopSound);

在您的JavaScript代码中,您必须拥有选择swf的简单功能:

function getFlashMovie(movieName) 
{
    var isIE = navigator.appName.indexOf("Microsoft") != -1;
    return (isIE) ? window[movieName] : document[movieName];
}

当你想停止电影中的声音时,你只需通过JavaScript调用你之前在swf中提供的功能:

movie = getFlashMovie('your-movie-name');
movie.stopSound();

应该这样做。有关ExternalInterface.addCallback的更多信息,请查看the Adobe AS3 Language Refrence page

答案 1 :(得分:0)

function test() {
movie = document.getElementById('FlashControl1');
movie.stopSound();}

这有效:)

答案 2 :(得分:-1)

我尝试了很多东西,例如$("object").stop();

IE无效。

然后我想出了这个肮脏的解决方案。 我将整个对象放在 div

然后在javascript中

document.getElementById("outerdiv").innerHTML="";
繁荣......就像一个魅力......