我有一个php文件,在该文件中我检查要发送给用户的警报。当发出警报通知时播放声音
该文件是在Ubuntu中使用cron或在Windows中的任务管理器中启动的。这部分运作良好。
现在,我需要在每次发送警报时播放声音。
如果我在浏览器中手动启动php文件,它可以工作。声音在播放。但是,当我在命令行中启动它时(例如,如果它是在cron中启动的),将发送警报但声音不起作用。
我使用插件(jquery.playsound.js),它来源于:https://github.com/admsev/jquery-play-sound
它仅包含这部分代码:
(function($){
$.extend({
playSound: function(){
return $(
'<audio autoplay="autoplay" style="display:none;">'
+ '<source src="' + arguments[0] + '.mp3" />'
+ '<source src="' + arguments[0] + '.ogg" />'
+ '<embed src="' + arguments[0] + '.mp3" hidden="true" autostart="true" loop="false" class="playSound" />'
+ '</audio>'
).appendTo('body');
}
});
})(jQuery);
这是我使用的代码。
<script src='assets/js/jquery-2.1.0.min.js'></script>
<script src='assets/js/jquery.playsound.js'></script>
$resultAlarm = getAlarmToSend();
if($resultAlarm){
while ($row = getRowElement($resultAlarm)){
$to = $row['Email'];
$subject = '***** ALARM *****';
$message = 'THIS IS AN ALARM!!';
include 'sendmail.php';
?>
<script type="text/javascript">
$.playSound("assets/sounds/alarm");
</script>
<?php
resetAlarm();
}
}
有人可以帮助我吗?
的JavaScript(正常)的壳/控制台上不起作用:
可以使用
shell_exec
和aplay
,像仍然播放声音在Ubuntu。 –