• 技术文章 >后端开发 >PHP问题

    php怎么实现播放声音

    藏色散人藏色散人2021-11-12 09:15:09原创645

    php实现播放声音的方法:1、创建一个PHP示例文件;2、通过PHP读取数据库;3、创建一个HTML示例文件并使用H5的audio()去实现播放提示音即可。

    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

    php怎么实现播放声音?

    PHP利用H5 audio实现类似美团订单声音提示,网页播放音乐效果

    大家经常会做站内信,消息提醒的功能,那么如何在此基础上加上提示音呢?今天给大家分享一下整个功能实现过程。
    首先我们需要布局好消息提示样式,这里大家可根据自己需求布局。

    0dbee843a31dedbd839a0d1a777dc97.png

    消息提示铃铛样式.png

    做好消息提示的样式之后,我们就需要开始做定时器以及异步查询数据了。

    <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>

    执行效果

    9cbdf4e743cf53d493db4b67d2b000b.png

    执行效果.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>

    以上就是完整的流程,大家是否学会了?

    推荐学习:《PHP视频教程

    以上就是php怎么实现播放声音的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php怎么增加函数 下一篇:php能删除记录图片吗
    千万级数据并发解决方案

    相关文章推荐

    • php怎么实现3秒跳转页面• php怎么设置变量类型• php两种基本的输出方法是什么• php怎么增加函数
    1/1

    PHP中文网