我试图阻止我在页面中加载的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()来停止音频;命令。
我还没有在谷歌上找到解决方案
答案 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="";
繁荣......就像一个魅力......