频道栏目
读书频道 > 移动开发 > 其他综合 > 微信公众平台服务号开发:揭秘九大高级接口
3.1 基本功能
2014-05-12 13:24:49     我来说两句
收藏   我要投稿
本书以PHP语言为基础,微信官方代码为模板,新浪SAE云空间为平台,介绍了微信公众平台服务号的九大高级接口开发,中间穿插介绍了当下比较流行的应用会员卡、微信墙、大转盘、LBS云、叫号系统、问答系统,同时对j  立即去当当网订购

语音识别接口目前仅支持中文普通话,使用前要先在微信公众平台服务端开启,这是很多读者容易疏忽的地方,要特别注意,如图3-1所示。

 

用户发送语音后,发送的数据包为XML格式,如下:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1357290913</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[media_id]]></MediaId>
<Format><![CDATA[Format]]></Format>
<Recognition><![CDATA[腾讯微信团队]]></Recognition>
<MsgId>1234567890123456</MsgId>
</xml>

识别的内容在Recongnition字段,因此只要提取这个字段内容即可。而语音信息的MsgType为voice,核心代码见代码3-1。

代码3-1 语音识别
$Recognition= $postObj->Recognition;//读取语音识别
$textTpl = "<xml>
               <ToUserName><![CDATA[%s]]></ToUserName>
               <FromUserName><![CDATA[%s]]></FromUserName>
               <CreateTime>%s</CreateTime>
               <MsgType><![CDATA[%s]]></MsgType>
               <Content><![CDATA[%s]]></Content>
               <FuncFlag>0</FuncFlag>
               </xml>";            
if($MsgType=="voice" )//判断是否语音类型
{ $contentStr = "你发送的声音是".$Recognition;
     $msgType = "text";
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,
        $msgType, $contentStr);
     echo $resultStr;
}

手机微信客户端返回结果如图3-2所示,语音识别即可完成。虽然语音识别都有准确率的问题,但只要你的普通话不太离谱、语速稳定,识别还是不错的。因此可以设置一些简单的关键词,让用户直接通过语音的方式代替文本回复。

 

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.4.4 随机答题系统
下一篇:3.2 语音机器人
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站