大家。 这是关于实时支持聊天。当一个成员想要联系我时,聊天正在响铃(所以这个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>
所以,简短的问题是,你怎么能在你点击一个链接(弹出)后停止播放,因为你不再需要那个警报了?谢谢。
答案 0 :(得分:1)
您的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>
您可以在Adobe help上找到有关javascript / flash互动的更多信息。
<强>更新强>
尝试通过此javascript代码获取swf对象:
if (navigator.appName.indexOf("Microsoft") == -1)
swfObject = document["audio1"];
else
swfObject = window["audio1"];