当php/mysql if语句为真时播放声音剪辑



嗨,当用户收到新消息时,我有一个消息警报框,我想做的是在弹出时向这个框添加声音,我使用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'/>"); ?>
<?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>

根据问题:

hi 我有一个消息警告框,当用户得到一个新的消息,我要做的是在这个框弹出时添加声音

你已经有了某种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();

最新更新