问题反馈,建议去issue中提问,人人为我,我为人人!
文档集合 建议参考快速开始,跑通demo之后,再查阅文档。
核心代码介绍
如下流程图简要介绍了,小度语音是如何工作的。核心流程可以理解成:
- 开发者在DBP平台,定义语音文本和用户意图的匹配关系
- 小度系统处理用户语音数据,解析为语音文本信息,匹配开发者预先注册的信息。返回apk可识别的字符串。
- 在小度设备上query 打开xxx
- 小度云端处理用户语音指令,返回对应打开指令。(根据dbp注册技能的唤醒名称 和 App包名 匹配关系,返回应用包名)
- 小度设备收到Open指令,根据App包名拉起对应Apk
可以在dbp平台上定义intent,也可以是云端预定义的ScreenNavigator等指令
- 在小度设备上query {{意图名称}}
- 小度云端收到用户语音指令,解析并返回对应意图指令。(根据dbp平台注册技能的 意图泛化语音指令 和 意图名称 的匹配关系,返回意图flag)
- 小度设备收到意图指令,分发给Apk。
- App注册自定义交互组件(就是一个 用户语音表达 和 文本字串 的匹配关系表),上传到小度云端
- 用户在小度设备上query 用户语音表达
- 小度云端识别用户语音表达 ,匹配(1)中的关系表,返回文本字串
- 小度设备收到文本字串,并分发给Apk。
- Apk根据预定义的文本字串和用户表达关系,就知道用户说了什么语音命令
完成开发的app,可以在小度设备上完成测试
- 因为线上版本不支持adb调试,需要参考文档开启adb权限。
- 在开启ADB权限的小度设备上安装开发完成的android app
- 在Dbp上打开真机调试
- “打开技能调试模式”,听完设置成功的tts不要打断
- “打开【调用名称】”,android app会被启动
在项目build.gradle中新增 maven库依赖
maven{ url 'https://dueros.baidu.com/maven/repository/maven-releases/'}
maven{ url 'http://maven.baidu-int.com/nexus/content/repositories/Baidu_Local' }在app/build.gradle加入依赖
implementation 'com.alibaba:fastjson:1.1.71.android'
implementation 'com.baidu.duer.botsdk:bot-sdk-android:1.51.1'混淆配置
-keep class com.baidu.duer.** {*;}
-keep class com.baidu.operationsdk.**{*;}然后参考以上代码示例进行集成


