综述

最近在开发一个网页端的客服系统,需求要求聊天双方接收到消息能有语音提醒,并且客服端如果存在未读消息要求每隔五分钟给客服语音提醒一下。客服聊天系统使用PHP的Workerman框架进行开发,由于语音提醒实现的功能一样,故而在本篇博文中从简描述,只进行定时循环提醒的功能记录,不说实时的那个语音提醒,因为思路都是一样的,主要是看如何实现自动播放语音功能。

思路

实时提醒

这个就比较明确了,就是在接收到消息的同时进行语音播放,大家可以根据自己的逻辑进行将代码放到合适的地方。

定时提醒

这个主要首先判断客户是否存在未读的消息,如果存在则语音提醒,如果不存在,则不进行提醒。故而要在HTML页面写一个定时器,每五分钟访问一次接口,查询客服是否存在未读消息,然后在后台开发一个接口用于返回客户是否存在未读消息。

代码实现

<!--=======================================-->
<!--Created by ZHIHUA·WEI.-->
<!--Author: Wei ZhiHua-->
<!--Date: 2019/01/09-->
<!--Time: 下午 17:26-->
<!--Project: ZHIHUA·WEI-->
<!--Power:JS实现聊天接收到消息语言自动提醒-->
<!--=======================================-->
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>JS实现聊天接收到消息语言自动提醒(您有新的消息请注意查收)</title><!--引入CSS、JS--><script type="text/javascript" src="public/common/js/jquery-1.8.1.min.js"></script>
</head>
<style>#audio_click {margin-top: 32px;height: 40px;}#audio_click a {text-decoration: none;background: #2f435e;color: #f2f2f2;padding: 10px 30px 10px 30px;font-size: 16px;font-family: 微软雅黑, 宋体, Arial, Helvetica, Verdana, sans-serif;font-weight: bold;border-radius: 3px;-webkit-transition: all linear 0.30s;-moz-transition: all linear 0.30s;transition: all linear 0.30s;}#audio_click a:hover {background: #385f9e;}
</style>
<body>
<!--dom结构部分-->
<div style="width: 100%;text-align: center"><!--用来存放item--><h1>JS实现聊天接收到消息语言自动提醒</h1><h3>(您有新的消息请注意查收)</h3><div id="audio_click"><a id="btn_audio" href="#">播放语音</a></div><div id="audio_play"></div>
</div>
</body>
<script>$(function () {var html = '';html += '<audio id="audioPlay">';//格式ogg音频地址html += '<source src="/public/static/layui/newmsg.ogg" type="audio/ogg">';//格式mp3音频地址html += '<source src="/public/static/layui/newmsg.mp3" type="audio/mpeg">';//格式wav音频地址html += '<source src="/public/static/layui/newmsg.wav" type="audio/wav">';html += '</audio>';//将代码写入到页面中$(html).appendTo("#audio_play");//轮询ajax检测未读消息,每五分钟var setTime = setInterval(function () {$.ajax({type: "post",url: "{:url('index/getNoReadMsg')}", //查询客服是否有未读消息dataType: "json",success: function (ret) {if (ret.code == 1) {//有则进行播放语音提醒$('#audioPlay')[0].play();}}});}, 300000);});$("#btn_audio").click(function () {//这就代码就是播放语音的关键代码$('#audioPlay')[0].play();});
</script>
</html>

下载

本源码包文件我已经上传到资源库中,有需要的童鞋可以自行下载,里面包含代码和音频文件。下载地址:JS实现聊天接收到消息语言自动提醒(您有新的消息请注意查收)

之后将代码中相应的资源路径修改之后即可使用。

JS实现聊天接收到消息语言自动提醒(您有新的消息请注意查收)相关推荐

  1. java实现未读消息提醒_JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】...

    本文实例讲述了JS(jQuery)实现聊天接收到消息语言自动提醒功能.分享给大家供大家参考,具体如下: 综述 最近在开发一个网页端的客服系统,需求要求聊天双方接收到消息能有语音提醒,并且客服端如果存在 ...

  2. RabbitMQ之消息的自动应答、手动应答和消息持久化(Java开发)

    1.消息的自动和手动应答 boolean autoAck = true;//消息自动应答 channel.basicConsume(WQ_QUEUE,autoAck,consumer); 默认情况下, ...

  3. html页面国际化之谷歌翻译js实践,支持通过判断浏览器语言自动将中文翻译成英文

    实践过程 最近boss提出了一个需求,需要支持打开的页面自动翻译成英文,csdn来回找资料,最终确定使用谷歌翻译js插件,这个插件测试只支持手动翻译,没能满足打开页面通过判断浏览器语言自动翻译成英文的 ...

  4. msgget();msgsnd();msgrcv();msgctl(); 消息队列 Linux进程间的通信方式之消息队列

    Linux进程间的通信方式 ----消息队列. 消息队列和共享内存类似 消息队列它允许一个或多个进程向它写消息,一个或多个进程向它写读消息. 消息队列存在于系统内核中,消息的数量受系统限制. 我们来看 ...

  5. 易语言晨风机器人源_易语言FQ自动聊天机器人源码,易语言自动聊天插件制作源码...

    自动聊天插件制作易语言源码 系统结构:加入消息记录,智能处理消息,加载插件信息,保存词库,词库初始化,关键词查询,加载词库,初始化插件,加入命令,处理命令,取插件,调用插件,取插件信息,时间, === ...

  6. python自动推送消息_Python自动接收微信群消息并推送相应的公众号文章

    原标题:Python自动接收微信群消息并推送相应的公众号文章 封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 用书教师可以联系 ...

  7. 聊天室(C语言)- 基于文件编程、网络通信、数据库实现

    聊天室(C语言) 源码连接 https://download.csdn.net/download/G1842965496/83970608 项目面试问题 C/C++/嵌入式-面试题汇总 --基于文件编 ...

  8. Java消息服务~自动分配的消息头

    消息头的值由JMS提供者来设置,开发者setJMSXxx()分配的值忽略. JMSDestination 消息头使用一个Topic 或 Queue 对象来标识目的地. Topic destinatio ...

  9. 返回的图片 buffer 怎么接收_面试题:Kafka 会不会丢消息?怎么处理的?

    Kafka存在丢消息的问题,消息丢失会发生在Broker,Producer和Consumer三种. Broker Broker丢失消息是由于Kafka本身的原因造成的,kafka为了得到更高的性能和吞 ...

最新文章

  1. 华为、百度、小米踏上造车新征程,软件如何吞噬汽车?
  2. 了解下WSDL 端口
  3. 如何快速而准确的获取生物体的遗传信息一直是生命科学 中的一个非常重要的研究点
  4. python soup提取叶子标签_python3用BeautifulSoup抓取div标签
  5. 【Flutter】FutureBuilder 异步编程 ( FutureBuilder 构造方法 | AsyncSnapshot 异步计算 )
  6. list根据对象进行排序
  7. 【❤️算法系列之二叉树的实现(包含前序、中序、后序遍历以及节点的查找和删除)❤️】
  8. CSS的px、em、rem、%、vw、vh、vm 单位区别
  9. w3ctech 2011 北京站(组图)
  10. 查看安卓APK源码破解
  11. Programming Computer Vision with Python (学习笔记十二) 1
  12. corn java 可配置_定时任务工具——CronUtil
  13. matlab画爱心代码分享
  14. python的re模块是自带的吗_python内置模块手册 python中的re模块是自带的吗
  15. 【转】VC6下安装与配置OpenCV1.0
  16. Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
  17. Windows命令行工具cmder配置
  18. 安卓的基本的动画介绍
  19. 如何提取PDF文件中的图片
  20. 在计算机编程里pi是什么意思,编程中的术语“钩子”是什么意思?

热门文章

  1. 忆17级信管杨友大三学年个人风雨兼程岁月
  2. 乌班图与win10作为文件服务器,win10与子系统ubuntu之间互访文件
  3. 微信OAuth授权获取用户OpenId-JAVA(个人经验)
  4. would用法归纳(最全)
  5. SVG排版点击可以输入内容
  6. Android TextView中的文字通过SpannableString,设置不同的颜色,字体,不同文字段的点击事件
  7. stm32晶振工作一段时间停振
  8. 西工大NOJ数据结构理论——015.建立二叉树的二叉链表存储结构(严6.70)
  9. Python生成个性二维码
  10. MySQL 的 SQL语句