🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> **先来看一下语音消息的使用场景** ![](https://box.kancloud.cn/2016-01-05_568b7690caeb7.png) > **同前面讲到的图片消息处理逻辑类似,默认情况下豆信框架是不会处理语音消息的。** #### 我们可以使用豆信框架封装的voice()钩子来对语音消息进行自定义处理。 > **先贴代码,代码位置:/Addons/Example/Model/WeixinAddonModel.class.php** ~~~ // 用户发送语音消息处理钩子 public function voice($data){ replyText("你发送的语音内容是:".$data['Recognition']); } ~~~ > **看一下效果** ![](https://box.kancloud.cn/2016-01-05_568b7690e084e.png) > **代码解析:** ##### 从贴出的效果图可以看到,当用户发送一段语音消息时,豆信把语音消息分发到voice()钩子进行处理,并给用户回复语音识别后的结果。可以通过replyText(json_encode($data))来调试输出发送语音消息时,用户传输给微信公众号的数据内容。在未开启语音识别的情况下,$data数组里面不会有Recognition的值,只有开启了语音识别,才能获取到Recognition的值。在微信公众号后台可以开启语音识别: ![](https://box.kancloud.cn/2016-01-05_568b7690f3da4.png) > **总结** ##### 本篇初步介绍了语音消息处理钩子voice()的使用方法,并简单介绍了语音识别的功能。开发者可以根据实际需求来使用voice()钩子。随豆信系统开源发布的在线点歌插件开启了语音点歌功能,感兴趣的朋友可以自行研究,有任何问题或者建议欢迎在讨论区留言。