当 php/mysql if 语句为真时播放声音剪辑?
Posted
技术标签:
【中文标题】当 php/mysql if 语句为真时播放声音剪辑?【英文标题】:play sound clip when php/mysql if statement is true? 【发布时间】:2013-03-27 23:54:04 【问题描述】:嗨,我有一个消息警告框,当用户收到新消息时会出现,我想做的是在它弹出时向这个框添加声音,我正在使用 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'/>"); ?>
【问题讨论】:
可能不相关,但该代码是否需要从while
循环中括在括号
中?
我猜这不是真正的 PHP/MySQL 问题。您是否检查过 embed-tag 是否是您页面源代码的一部分?
【参考方案1】:
<?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>
【讨论】:
感谢薄,我试过了,但仍然没有播放音频文件。 @JamesPale 我试过这个,绝对有效。检查您的路径是否正确。 什么都没有发生,只是没有声音播放,没有任何错误。 @JamesPale 检查路径。我正在使用确切的代码,它正在工作!【参考方案2】:根据问题:
嗨我有一个消息提醒框,当用户收到新消息时会出现 消息,我要做的是在弹出此框时为其添加声音
您已经拥有某种 javascript 函数,可在需要时显示警告框。使用来自this answer 的信息来播放声音。
<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();
【讨论】:
以上是关于当 php/mysql if 语句为真时播放声音剪辑?的主要内容,如果未能解决你的问题,请参考以下文章