手机版

微信公众号开发之语音消息识别服务器端编程语言(专业超文本预处理器的缩写)代码

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

本文实例为大家分享了服务器端编程语言(专业超文本预处理器的缩写)微信语音消息识别代码,供大家参考,具体内容如下

1.开通语音识别(默认关闭)

2.语音识别

请注意,开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息可扩展置标语言数据包中,增加一个承认字段(注:由于客户端缓存,开发者开启或者关闭语音识别功能,对新关注者立刻生效,对已关注用户需要24小时生效。开发者可以重新关注此帐号进行测试)。开启语音识别后的语音可扩展置标语言数据包如下:

?php/** *微信PHP测试*///定义你的tokendefine('TOKEN ',' weixin ');$微信bj=新微信callbackapitet();//$微信对象-valid();//接口验证$微信对象响应消息();//调用回复消息方法班级微信callbackapist { public function valid(){ $ echoStr=$ _ GET[' echoStr '];//有效签名,选项if($ this-CheckSignature()){ echo $ echoStr;退出;} }公共函数responseMsg(){//获取邮政数据,可能是由于环境不同$ PostStr=$ GLOBALS[' HTTP _ RAW _ POST _ DATA '];//提取帖子数据if(!空($ PostStr)){/* libxml _ disable _ Entity _ loader是为了防止xml外部实体注入,最好的方法是自己检查可扩展置标语言的有效性*/libxml _ disable _ Entity _ loader(true);$ PostObj=simple XML _ load _ string($ PostStr,' SimpleXMLElement ',LIBXML _ NocDATa);$ from username=$ PostObj-from username;$ touser name=$ PostObj-touser name;$关键字=trim($ PostObj-Content);$ time=time();$ MSgtype=$ PostObj-MSgtype;//消息类型$ Event=$ PostObj-Event;//时间类型,订阅(订阅)、取消订阅(取消订阅)$textTpl='xml ToUserName![CData[% s]]/从用户名使用用户名![CData[% s]]/来自用户名创建时间% s/创建时间MsgType![CDATA[%s]]/MsgType内容![CData[% s]]/Content func flag 0/func flag/XML ';switch($ msgType){ case ' event ' : if($ event==' subscribe '){ $ content str=' Hi,欢迎关注海仙日用百货!'。\n .'回复数字'1',了解店铺地址.'。\n .'回复数字'2',了解商品种类.';}休息案例'文本' ://文本消息switch($ keyword){ case ' 1 ' : $ ContentStr='店铺地址:'.\n .'杭州市江干区.';打破;案例2': $contentStr='商品种类:'.\n .'杯子、碗、棉签、水桶、垃圾桶、洗碗巾(刷)、拖把、扫把、' .'衣架、粘钩、牙签、垃圾袋、保鲜袋(膜)、剪刀、水果刀、饭盒等.';打破;' default: $contentStr='对不起,你的内容我会稍后回复;}休息案例'语音' ://语音消息//语音识别$ Recognition=$ post obj-Recognition;$ Format=$ PostObj-Format;$contentStr='你发送的是语音消息“\n,”语音格式为:'.\n .$格式“\n,”语音内容为:'.\n .$认可;打破;} $ msgType=' text $ resultStr=sprintf($ text TPL,$fromUsername,$toUsername,$time,$ msgType,$ content str);echo $ resultStr } else { echo退出;} }私有函数checkSignature() { //如果(!已定义(“TOKEN”){ 0引发新异常(' TOKEN未定义!');} $ signature=$ _ GET[' signature '];$时间戳=$_GET['时间戳'];$ nonce=$ _ GET[' nonce '];$ TOKEN=TOKEN $ TMParr=array($ TOKEN,$timestamp,$ nonce);//使用排序字符串规则sort($tmpArr,SORT _ STRING);$tmpStr=内爆($ TMParr);$ TMPstr=sha1($ TMPstr);if($ TMPstr==$ signature){ 0返回true}否则{返回false} }?以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:微信公众号开发之语音消息识别服务器端编程语言(专业超文本预处理器的缩写)代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。