php如何实现微信公众号开发之语音消息识别
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍php如何实现微信公众号开发之语音消息识别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下1.开通语音识别(默认关闭)2.语音识别请注意,开通语音识别
千家信息网最后更新 2025年01月18日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 = ""; 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; } }}?> %s 0
以上是"php如何实现微信公众号开发之语音消息识别"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
语音
消息
内容
开发
公众
商品
地址
垃圾
店铺
开发者
数字
数据
用户
种类
篇文章
类型
订阅
剪刀
垃圾桶
垃圾袋
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海爱优威软件开发
阿里云服务器安全防护可靠吗
数据库的主要安全机制
辽宁金税盘安全服务器接入地址
DB2数据库控制文件
连接sql数据库方法
数据库加密技术的发展背景
公主岭市网络安全和信息化委员会工作会议
sa是哪里服务器
深化体质改革网络安全
虚拟机的数据库连接字符串在哪
中国网络安全法txt下载
数据库clob类型清空
软件开发应该买什么笔记本
软件开发日报表
办公室建服务器
软件开发业务的增值税税率
乐高数据库
软件开发费用什么科目
数据库单表查询出生年月
腾讯服务器消失会怎样
闵行区软件开发使用方法
普兰店ftp服务器
算法研究和软件开发
大学生网络安全教育演讲
怎么选择msdb数据库
数据库范式试题
接口出现重复数据库
页游改数据库
武威徒烂网络技术有限公司