Как сделать остановку звука SWF при нажатии на конкретную ссылку? - PullRequest
0 голосов
/ 21 января 2012

все.Речь идет о живом чате поддержки.Когда участник хочет связаться со мной, зазвонит чат (поэтому этот аудиофайл swf начинает воспроизводиться).Всякий раз, когда запускается звуковое оповещение SWF, я получаю ссылку: «пользователь X хочет общаться, нажмите здесь, чтобы ответить».После того, как я «щелкнул здесь», открывается новое всплывающее окно (чат), но звук swf продолжает воспроизводиться без остановки, это все равно что отвечать на телефонные звонки, говорить, но все еще звонить.Я попробовал функцию doStop ();- не работает.Я пытался прикрепить к «ответной ссылке» разные команды, но не смог.Как это можно решить?

Вот ссылка, открывающая чат

$json['msg'] = 'You have a chat call <a href="#" onClick="return mbetter(\'http://mysite.com/chat/?chat_session='.$rows['id'].'\')">Click to accept</a>';

Вот функция "mbetter", которая помогает мне открыть чат во всплывающем окне

<!--function mbetter(url) {
newwindow=window.open(url,'name','height=610,width=550');
if (window.focus) {newwindow.focus()}
return false;} // -->

Сценарий для игрока:

function getPlayer(pid) {
var obj = document.getElementById(pid);
if (obj.doPlay) return obj;
for(i=0; i<obj.childNodes.length; i++) {
    var child = obj.childNodes[i];
    if (child.tagName == "EMBED") return child;
}}

function doPlay() {
fname = "chatalert.wav";
var player=getPlayer("audio1");
player.play(fname);}

function doStop() {
var player=getPlayer("audio1");
player.doStop();}

И я не знаю, поможет ли это, но я опубликую это на всякий случай, объект:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="1"
height="1"
id="audio1">
<embed src="wavplayer.swf?gui=mini&h=20&w=300&sound=chatalert.wav&"
    bgcolor="#ffffff"
    width="1"
    height="1"
    allowScriptAccess="always"
    type="application/x-shockwave-flash"
    pluginspage="http://www.macromedia.com/go/getflashplayer"
/></object>

Итак, короткий вопрос: как вы можете остановить воспроизведение SWF после того, как нажмете на ссылку (всплывающее окно), поскольку вам больше не нужно это предупреждение?Спасибо.

1 Ответ

1 голос
/ 22 января 2012

У вас неверный HTML-код.Попробуйте это:

 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
         id="audio1" width="1" height="1"
         codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
     <param name="movie" value="wavplayer.swf?gui=mini&h=20&w=300&sound=chatalert.wav&" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#FFFFFF" />
     <param name="allowScriptAccess" value="always" />
     <embed src="wavplayer.swf?gui=mini&h=20&w=300&sound=chatalert.wav&" quality="high" bgcolor="#FFFFFF"
         width="1" height="1" name="audio1" align="middle"
         play="true" loop="false" quality="high" allowScriptAccess="always"
         type="application/x-shockwave-flash"
         pluginspage="http://www.macromedia.com/go/getflashplayer">
     </embed>
 </object>

Подробнее о взаимодействии javascript / flash можно узнать в справке Adobe .

ОБНОВЛЕНИЕ

Попробуйте получить объект SWF с помощью этого кода JavaScript:

if (navigator.appName.indexOf("Microsoft") == -1)
    swfObject = document["audio1"];
else
    swfObject = window["audio1"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...