2012-01-21 3 views
0

모두. 라이브 지원 채팅입니다. 회원이 저에게 연락하기를 원하면 채팅이 울립니다 (이 swf 오디오 파일이 재생되기 시작합니다). swf 오디오 알림이 시작될 때마다 "사용자 X는 채팅하고 싶습니다. 여기를 클릭하여 응답합니다"라는 링크가 표시됩니다. "여기를 클릭하십시오"후에 새 팝업 창 (채팅)이 열리지 만 swf 오디오는 멈추지 않고 계속 재생되며 전화 응답, 말하기는하지만 계속 울리는 것과 같습니다. 나는 doStop() 함수를 사용했다. - 작동 안함. 나는 "응답 링크"에 다른 명령을 붙이려고했으나 만들 수 없었다. 어떻게이 문제를 해결할 수 있습니까?특정 링크를 클릭하면 SWF 오디오가 멈추게 할 수 있습니까?

: 여기

링크는 채팅 여기

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

나 플레이어의 팝업 창

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

스크립트에서 채팅을 열 수 있습니다 기능 "mbetter"입니다을 여는

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

잘못된 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에 자바 스크립트/플래시의 상호 작용에 대한 자세한 내용을 찾을 수 있습니다.

UPDATE

보십시오이 자바 스크립트 코드에 의해 SWF 개체를 얻을 :

if (navigator.appName.indexOf("Microsoft") == -1) 
    swfObject = document["audio1"]; 
else 
    swfObject = window["audio1"]; 
+0

에민, 덕분 코드, 여전히 작동하지, 나는 그것을 일으키는 인터넷 익스플로러 오류 생각합니다. 내가 디버그 도구를 사용하고 그것은 '정의되지 않은'null 또는 라인에 대한 개체가 아니라고 : player.play (fname); 새 스레드를 시작하니? 허용되는지 확실하지 않습니다. – Ingrid

+0

새 스레드를 시작할 필요가 없습니다. [Here] (http://stackoverflow.com/questions/8819186/get-ie-object-to-control-flash-buttons/8822827#8822827) IE 및 다른 브라우저에서 swf 객체를 가져 오는 방법을 설명합니다. 내 게시물의 업데이트를 참조하십시오. –

+0

Emin, 코드를 삽입했는데 아직 아무것도 삽입하지 않았습니다. IT는 브라우저 문제로 인해 회원을 잃는 것이 너무 슬퍼합니다. :(내 코드 바로 뒤에이 코드를 넣을 수 있습니다.)이 문제가 될 수 있습니까? – Ingrid

관련 문제