2014-02-12 80 views
1

我在這裏做了一個簡單的聊天系統http://theawesomecoder.com/c 我試圖產生一個ping聲音,每當用戶輸入任何消息,應該在網上聽到每一個。爲了這個,我已經寫在該消息被寫入文件,但播放的聲音代碼時,消息被寫入使用文件AJAX正在生成沒有聲音在聊天系統ping聲音

<?php 

session_start(); 
if (isset($_SESSION['user'])) { 
    $text = $_POST['text']; 

    echo "<script>playSound('button-1.wav')</script>"; 

    $date = date('H:i:s'); 
    $handle = fopen("messages.html", 'a+'); 
    fwrite($handle, '<div class="message"><span class="name">' . $_SESSION['user'] . ':</span> ' . stripslashes(htmlspecialchars($text)) . '<span class="right">'.$date .'</span></div>'); 
    fclose($handle); 
} 
?> 
<!doctype html> 
<html> 
<head> 
<meta charset="ISO-8859-1" /> 
<title></title> 
<script language="javascript" type="text/javascript"> 
function playSound(soundfile) { 
    document.getElementById("dummy").innerHTML= 
    "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />"; 
} 
</script> 
</head> 

<body> 
<span id="dummy"></span> 


</body> 
</html> 

<?php 

echo "<script>playSound('button-1.wav')</script>"; 

?> 

回答

0

是你的聲音文件是否正確?您可以在加載內容時播放聲音。 請不要使用javascript加載聲音文件。將它添加到你的html。只需嘗試使用JavaScript播放文件,而不是每次都插入它。

+0

是否有可能使用所有觀看該站點的人都可以聽到的ajax呼叫發出聲音。 –

+0

是的,但是爲此,您必須刷新每秒顯示消息的元素的內容,並且每個用戶都會聽到消息。 – rzShrestha