700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微信公众号开发之语音消息识别php代码

微信公众号开发之语音消息识别php代码

时间:2022-01-29 09:50:25

相关推荐

微信公众号开发之语音消息识别php代码

后端开发|php教程

php微信语音消息识别,微信公众号语音识别,众号语音识别,微信公众平台语音消息

后端开发-php教程

这篇文章主要为大家详细介绍了微信公众号开发之语音消息识别php代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

报修php源码,vscode本地插件位置,ubuntu 音频转换,tomcat使用多久,sqlite优缺点 知乎,软件开发包含底层框架前端,很多腿的爬虫和蜈蚣像,php 文件上传源码,seo专员简历优化,东莞市美时家具营销型网站,html5网页侧边栏二级导航,仿微信文章模板lzw

本文实例为大家分享了php微信语音消息识别代码,供大家参考,具体内容如下

黑客网页游戏源码,vscode网站进不去,ubuntu 设置全屏,tomcat找不到gre,凉席爬虫,php 取随机数不重复,谷歌seo优化公司郯城,网站侧边联系代码,网上花店动态模板lzw

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

电影小程序 源码,ubuntu安装g 是,python爬虫热点模块,php5.5.1.2,改版seo网站lzw

2.语音识别

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

valid();//接口验证$wechatObj->responseMsg();//调用回复消息方法class wechatCallbackapiTest{ public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data if (!empty($postStr)){ /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,the best way is to check the validity of xml by yourself */ libxml_disable_entity_loader(true);$postObj = simplexml_load_string($postStr, SimpleXMLElement, LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $msgType = $postObj->MsgType;//消息类型 $event = $postObj->Event;//时间类型,subscribe(订阅)、unsubscribe(取消订阅) $textTpl = " <![CDATA[%s]]> <![CDATA[%s]]> %s <![CDATA[%s]]> <![CDATA[%s]]> 0 "; switch($msgType){case "event":if($event=="subscribe"){$contentStr = "Hi,欢迎关注海仙日用百货!"."\n"."回复数字1,了解店铺地址."."\n"."回复数字2,了解商品种类.";}break;case "text"://文本消息switch($keyword){ case "1": $contentStr = "店铺地址:"."\n"."杭州市江干区."; break; case "2": $contentStr = "商品种类:"."\n"."杯子、碗、棉签、水桶、垃圾桶、洗碗巾(刷)、拖把、扫把、" ."衣架、粘钩、牙签、垃圾袋、保鲜袋(膜)、剪刀、水果刀、饭盒等."; break; default: $contentStr = "对不起,你的内容我会稍后回复";}break;case "voice"://语音消息//语音识别$recognition = $postObj->Recognition;$format = $postObj->Format;$contentStr = "你发送的是语音消息"."\n"."语音格式为:"."\n".$format."\n"."语音内容为:"."\n".$recognition;break; } $msgType = "text"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else { echo ""; exit; } } private function checkSignature() { // you must define TOKEN by yourself if (!defined("TOKEN")) { throw new Exception(TOKEN is not defined!); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"];$token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rule sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } }}?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。