Остановить музыку во вспышке от события JavaScript - PullRequest
1 голос
/ 01 апреля 2009

Я пытаюсь остановить музыку внутри флэш-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 (); команда.

Мне еще предстоит найти решение в Google

Ответы [ 3 ]

2 голосов
/ 02 апреля 2009

В вашем файле 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];
}

И когда вы хотите остановить звуки в вашем фильме, вы просто вызываете функцию, которую вы ранее сделали доступной в SWF, из JavaScript:

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

Это должно сделать это. Для получения дополнительной информации о ExternalInterface.addCallback посетите страницу Ссылка на язык Adobe AS3 .

0 голосов
/ 27 июня 2012

Я много чего перепробовал, например $("object").stop();

ничего не работает для IE.

Тогда я пришел с этим грязным решением. Я поместил весь этот объект внутрь div

затем в JavaScript

document.getElementById("outerdiv").innerHTML="";

бум ... работает как шарм ...

0 голосов
/ 02 апреля 2009
function test() {
movie = document.getElementById('FlashControl1');
movie.stopSound();}

это сработало:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...