如何在查询后播放声音?

时间:2011-08-13 02:49:20

标签: php javascript

我有一家商店,我想在收到订单后发出声音。我将订单存储在我的数据库中,因此我想在运行此检查订单查询后播放声音:

$order_check_query("SELECT * FROM orders WHERE status = 'pending'");  

我想在登录时每5分钟运行一次此查询。如果有任何待处理的订单,我想播放声音30秒通知我。

2 个答案:

答案 0 :(得分:6)

创建audio元素:

var audio = document.createElement('audio');

将其插入身体:

document.body.appendChild(audio);

设置您想要播放的声音:

audio.src = 'path/to/filename.ogg';

每当查询结束时,播放声音:

audio.play();

使用setIntervalhttp://jsbin.com/uravuj/4

每五秒播放一次声音的示例

答案 1 :(得分:2)

因此,对于您所在的任何页面,您都需要添加一个ajax函数来触发执行查询的PHP脚本。如果返回true,则触发播放声音的javascript函数。如果它返回false,则没有声音。以下是jquery的示例:

function checkOrders()
{
$.get('checkOrders.php', function(data) {
   if(data.neworders == true) {
        audio.play();
     }
   }
});
t=setTimeout("checkOrders()",(5 * 60 * 1000));
}


$(function() {
 checkOrders();
});

这假设您将数据从php返回为json,并且您已经按照Delan之前的建议构建了一个音频对象。

我的javascript / jquery有点生疏,可以随意评论或编辑错误。