首页 > PHP资讯 > 工具库 > 微信公众平台消息接口开发(10)语音触发(非识别)

微信公众平台消息接口开发(10)语音触发(非识别)

工具库
本系统教程以微信公众平台应用天气神(账号WeatherGod,支持国内近400个城市天气的名称、拼音、区号、邮编以及语音触发模式查询)为例,讲解微信接口开发过程。欢迎大家关注该账号并使用语音方式查询当地天气,二维码见底部。


一、通过输入文字的方式查询天气
一般都是通过城市名称、拼音、区号等方式实现的查询,基本上都是搜索数据库,获得对应的查询接口,然后发送查询天气,将结果封装成天气格式发给用户。比如下面就分别是通过名称,拼音、区号,邮编方式执行的天气查询


二、通过不输入文字的方式查询天气

1.化繁为简

就查询方式来说,查询复杂度从易到难依次是区号>邮编>城市名称>拼音

  • 区号一般是3-4位数,所以最容易输入,少数情况下,不同城市共同相同电话区号
  • 邮编6位,但邮编有个问题是,匹配不精确,一个城市有很多个邮编,而且有的城市前面部份相同的位数不同,有的前3位相同,有的前4位相同
  • 城市名称排第3,因为我们平常输中文输入惯了,所以输入起来其实很容易,只是按键次数比较多。
  • 拼音最不好输是因为经常自动去匹配单词,(在我的手机上是这样)可能要把英语的自动完成关闭掉,再就是人们平时用拼音的情况太少了。

有没有更简单的方法呢
不输入文字,就只能发送其他的过去了。其他最好的输入方式当然是语音。

2. 语音触发

目前微信公众平台并没有支持语音识别的接口,开发者也获取不到那个发过来的语音文件地址,所以要想识别出用户发过来的语音内容还做不到。

但公众平台却支持语音发送给公众号,利用这个功能,我们可以做出说句话就能帮你查询天气的应用,而且这句话内容随便都可以,也就是说,按着那个要你说话的按钮1秒钟再松手,自动帮你查询到天气并且返回结果。

请看下图:

这里就是说了一句话给对方,就获得了查询结果。这比那些要输入名称、拼音、区号、邮编的查询方式更进了一大步,因为不用再输入繁琐的名称了,而且大多数人大多数情况下都是固定在一个地方,不会改变地理位置,所以这个功能对他们来说还是很实用的。

3. 智能记忆

但是,如何知道用户查过什么呢?这就需要用户执行过一次其他方式的有效查询,后台把查询记录存放到数据库中,下次语音查询的时候取得记录,这样就知道去查找哪一个城市了。

所以,我们需要对第一次语音查询做另外一种回复设置

通过这几天的观察发现一个很有意思的现象,用户发文字查询的时候,一般是发送本地城市信息过去,而当他发送语音的时候,最喜欢对着手机说出本地城市名称,这样一来,刚好与后台要查询的城市

工具库

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持19不支持0