php如何实现微信公众号开发之语音消息识别
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍php如何实现微信公众号开发之语音消息识别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下1.开通语音识别(默认关闭)2.语音识别请注意,开通语音识别
千家信息网最后更新 2025年11月08日php如何实现微信公众号开发之语音消息识别
这篇文章主要介绍php如何实现微信公众号开发之语音消息识别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体内容如下
1.开通语音识别(默认关闭)
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 = " %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; } }}?>以上是"php如何实现微信公众号开发之语音消息识别"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
语音
消息
内容
开发
公众
商品
地址
垃圾
店铺
开发者
数字
数据
用户
种类
篇文章
类型
订阅
剪刀
垃圾桶
垃圾袋
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
现在有什么网络技术
海西州软件开发报价
mongodb数据库or
方舟端游怎么在服务器内退出
服务器等级
数据库处于单用户
还是在公安部数据库
数据库原理如何去除相同列
网易服务器能用原存档吗
软件开发目录结构标准化规范
win7进入网络安全模式卡了
小麦基因组数据库
大兴软件开发培训机构
电商数据库设计
java 服务器内存
网络安全日志分析报告模板
软件开发个人月报总结
北京服务器虚拟化设计虚拟主机
服务器上安装php
微软亚洲研究院软件开发面试
胶州网络技术
关于中学生网络安全的剧本
NTP服务器异常怎么解决
4g网络技术研究
网络安全网关系统
冀时办数据库操作异常
辽宁网络软件开发定制服务费
南通宏锐软件开发
vue打包服务器地址
数据库语句去掉重复