5

嗨,我有一个消息警报框,当用户收到新消息时会出现,我想要做的是在它弹出时向这个框添加声音,我正在使用 php if 语句来检查用户何时收到新消息和我已经尝试通过执行以下操作来添加声音,但它不起作用请有人告诉我如何做到这一点。谢谢。

<?php
$check_new_chats = check_new_chats();
while ($chat = mysql_fetch_array($check_new_chats)) 
if (isset($_SESSION['user_id'])) { 
        if ($chat['to_user_id'] == $_SESSION['user_id']){ 
        echo( "<embed name='sound_file' src='/assets/music/sound_file.mp3' loop='true' hidden='true' autostart='true'/>"); ?>
4

2 回答 2

3
<?php
$check_new_chats = check_new_chats();
while ($chat = mysql_fetch_array($check_new_chats)) 
if (isset($_SESSION['user_id'])) { 
    if($chat['to_user_id'] == $_SESSION['user_id']){ 
        echo '<script type="text/javascript">play_sound();</script>';
    }
}
?>

这是Javascript函数:

<script type="text/javascript">
    function play_sound() {
        var audioElement = document.createElement('audio');
        audioElement.setAttribute('src', '/assets/music/sound_file.mp3');
        audioElement.setAttribute('autoplay', 'autoplay');
        audioElement.load();
        audioElement.play();
    }
</script>
于 2013-03-27T23:59:11.587 回答
1

根据问题:

嗨,我有一个消息警报框,当用户收到新消息时会出现,我想要做的是在它弹出时向这个框添加声音

您已经拥有某种 javascript 函数,可在需要时显示警告框。使用此答案中的信息来播放声音。

<audio id="soundHandle" style="display: none;"></audio>
<script>
  soundHandle = document.getElementById('soundHandle');
  soundHandle.src = '/assets/music/sound_file.mp3';
</script>



//With your message alert function....
alert("Message box");
soundHandle.play();
于 2013-03-28T00:06:58.067 回答