php怎么实现播放声音
php实现播放声音的方法:1、创建一个PHP示例文件;2、通过PHP读取数据库;3、创建一个HTML示例文件并使用H5的audio()去实现播放提示音即可。
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
php怎么实现播放声音?
PHP利用H5 audio实现类似美团订单声音提示,网页播放音乐效果
大家经常会做站内信,消息提醒的功能,那么如何在此基础上加上提示音呢?今天给大家分享一下整个功能实现过程。
首先我们需要布局好消息提示样式,这里大家可根据自己需求布局。
做好消息提示的样式之后,我们就需要开始做定时器以及异步查询数据了。
<script> $(function () { var set = setInterval(function(){ $.post("{:url('prompt')}", '', function(data){ if (data.status){ $('#num').html(data.num); //将消息数量添加上去 var audio = new Audio("./song.ogg"); //获取本地音频文件,ogg,mp3都可以 audio.play(); //执行播放操作 } }, 'json'); }, 1000); //点击查看小心,并且将消息数量清空 $('#a_link').click(function () { $('#num').html(''); }) }) </script>
这里我们利用H5的audio(),去实现播放提示音。我这里的代码写的很粗糙,大家可以根据自己需求优化下。
下面我们利用PHP语言去读取数据库中时候有新消息,如果有就开始推送,没有则忽略。我这里是基于TP5.1
public function prompt() { //这里插叙是否有新订单,如果有就提示,没有则忽略 $num = Db::name('hexiao')->where('add_time', '>' , date('Y-m-d H:i:s', time()-10))->count(); if ($num > 0){ return json(['status' => 1, 'num' => $num]); } else { return json(['status' => 0, 'num' => $num]); } }
下面介绍下H5的audio标签,目前支持MP3、Ogg、Wav
<audio controls> <source src="horse.ogg" type="audio/ogg"> <source src="horse.mp3" type="audio/mpeg"> 您的浏览器不支持 audio 元素。 </audio>
执行效果
执行效果.png
也可以控制播放和暂停以及重播
<audio src="b.mp3" controls="controls" preload id="music" hidden></audio> <span onclick="control();">播放/暂停</span> <span onclick="repeat();">重播</span>
也可以通过js去控制音频播放和暂停
<script> function repeat(){ var audio = document.getElementById('music'); audio.currentTime = 0;//重新播放 } function control(){ var audio = document.getElementById('music'); if(audio!==null){ if(audio.paused){ audio.play();// 播放 }else{ audio.pause();// 暂停 } } } </script>