今天经过朋友Mr.丁的提示,发现微信有自动识别语音消息,并将识别后的文本返回的功能,这正好省去我们调用讯飞语音识别接口了,还是无限免费使用的,好了,不多嘚嘚,看正文:
先在微信后台页面->开发->接口权限中,找到接收语音识别结果,然后点击开启,即可接收到语音识别后的文本了!
之后查看微信文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453
开通语音识别后,用户每次发送语音给公众号时,微信会在推送的语音消息XML数据包中,增加一个Recongnition字段(注:由于客户端缓存,开发者开启或者关闭语音识别功能,对新关注者立刻生效,对已关注用户需要24小时生效。开发者可以重新关注此帐号进行测试)
所以我们只需要只需要在识别是语音消息后,增加一个字段存储语音识别文本即可,代码如下:
if (MessageUtil.MESSAGE_VOICE.equals(msgType)) {//语音识别
String recognition = map.get("Recognition"); // 智能语音识别消息
message = wxFunction(toUserName, fromUserName, recognition.substring(0,recognition.length()-1));
//语音识别文本最后会带个。所以要去掉它
}
其他代码照常即可!