智能语音输入查询天气app

今日科技快讯

昨日乐视官方称:贾跃亭已辞去乐视网董事长以及其它相关职务,并退出董事会。同时,出任乐视汽车生态全球董事长。另外,贾跃亭本人通过微信公众号发声称,会承担全部的责任,辞去众多职务是为了全力以赴实现FF 91最快量产上市,他承诺会把金融机构、供应商以及任何的欠款全部还上。

作者简介

明天就是周末了,提前祝大家周末愉快!

本篇来自 farinaZhang 的投稿,介绍了基于第三方SDK开发一款语音查询天气APP,希望对大家有所帮助。

farinaZhang 的博客地址:

http://blog.csdn.net/zhangxy0605

正文

现在智能家居越来越普及,智能语音输入也成为一项很方便的工具,可以告别传统的文字输入,可以根据输入的内容,完成相应的对话及功能。OLAMI 人工智能开放平台让你只需通过几个简单的步骤和代码,就能让你的应用程序或设备更加智能更加人性化,并提供趋近完美的用户体验,OLAMI 介绍:

https://cn.olami.ai/wiki/?mp=api_nlu&content=api_nlu2.html

本文章就是介绍怎么使用 OLAMI 人工智能开放平台(以下简称为OLAMI开放平台)及sdk开发出一个简单的智能语音输入天气app。

下载sdk

要使用 OLAMI 人工智能开发平台首先需要下载相应的 sdk,如图将下载下来的 voicesdk.jar 放在 jniLibs 下,将 libspeex.so 放在 jniLibs 下的 armeabi 下。

Voicesdk.jar 是用来语音录音,识别语音结果,然后发送给 OLAMI 平台进行解析,返回相应的 json 格式结果,供用户解析。

文件结构

imain 文件夹为主要的语音实现功能和主界面,其他文件目录为获取天气相关数据的和显示相关 card 的文件夹。

代码详解

WeatherMainActivity.Java 主要初始化页面及各个变量,创建 Handler 以进行消息传递。创建 Task 查询天气并刷新界面显示。

VoiceSdkService.java 初始化智能语音识别相关参数 ,详细可参考

https://cn.olami.ai/wiki/?mp=sdk&content=sdk/android/reference.html

onResult 函数为 OLAMI 开放平台结合用户编写的 grammar 返回的 json 结果,可以根据实际需求进行解析和显示。

如:本 app 中用户语音输入 “上海的天气”,对应的在 OLAMI 开发品台上的 Grammar 为:

返回的json结果为

1. modifier:chacitytianqi 对应 grammar 中

 

表示这句语法被匹配上后要送出去的意图。同一应用中每个 grammar 的modifier 应该都是唯一的不同的,已变用户区分输入的语句。

2. Type: sample 对应 OLAMI 开发平台上对应的模块名。

3. slots:

表示现在输入的是上海,当查询“北京的天气”时,value 值为“北京”,slots 根据编写的grammar,可以有多个 json 成员。如:

4. status:ok 表示正常返回 Json 数据。

如何创建 grammar 及 grammar 中用的 slots 和 rule 详细解析可参考:

https://cn.olami.ai/wiki/?mp=nli&content=nli2.html

该app 目前支持的查询范围

查看各个城市的天气 ,如:上海的天气,北京的天气,显示所有天气数据

查看空气质量,如:空气质量,上海的空气质量,等。画面只显示空气质量数据card。

查看一周天气,如: 明天的天气 , 一周的天气, 一周北京的天气,等。画面只显示预报一周的card。

查看今天的天气,如 :今天的天气,今天上海的天气。 画面只显示一天天气的card

查看指数, 如: 穿衣指数, 空气指数、 天气指数 。 画面只显示指数card

天气功能及画面参考开源项目

https://github.com/farinaZhang/open_weather

更多

每天学习累了,看些搞笑的段子放松一下吧。关注最具娱乐精神的公众号,每天都有好心情。

如果你有好的技术文章想和大家分享,欢迎向我的公众号投稿,投稿具体细节请在公众号主页点击“投稿”菜单查看。

欢迎长按下图 -> 识别图中二维码或者扫一扫关注我的公众号:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值