浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
一 背景说明

为了给用户提供最佳的语音交互体验,百度地图提出一种语音助手深度互通方案,该方案打破了各语音助手之间的屏障,构建起一个繁荣的语音助

手互通生态。

二 接口协议

1.  服务端接口协议


1.1 调用方式

线上域名:https://api.map.baidu.com

方法路径:baidumapvoice/v1/check

请求示例:https://api.map.baidu.com/baidumapvoice/v1/check

https://api.map.baidu.com/baidumapvoice/v1/check?
pname=xxx
&ak=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
&query=%E5%8E%BB%E4%BA%94%E9%81%93%E5%8F%A3%E5%9C%B0%E9%93%81%E7%AB%99%E9%
80%94%E5%BE%84%E8%A5%BF%E4%BA%8C%E6%97%97
&caller=%7b%22pb%22%3a%%22%2c%22mb%22%3a%22V1836A%22%2c%22os%22%3a%
229%22%2c%22pcn%22%3a%%22%2c%22ver%22%3a%2231000%22%2c%22m
ap_info%22%3a%7b%22app%22%3a%22com.baidu.BaiduMap%22%2c%22processState%22%
3a0%2c%22versionCode%22%3a938%2c%22versionName%22%3a%2220.20.20%22%7d%7d
&callee=iLTmEGYURKSx_xV%2ByJ%3DKOzwaB9iR5Vc5Q1Vm%3D%2Fx_bKKm_5n%
2BA_CK8JuoBV5aHa7Ba14mxb5oP_cuM54JAiy-FzVSFXtjKVpVPYNpEGVfaZgJNO3%2Bq%
2B39Vajsr3fn5
G%3D5Oc%3D%2Bz%2FlpGnEJMrkip7kQVVoZP3%3DemWE2OLShzFTHRDokPcx-
E8nK8kpGuVVz1WEsOD_JDb4SOZgANI-rlY3lEau0BabjMVpVPYFdEgkDyg%
3DpCOVdwl4UOm6KxQ9%2Bml%2Bq
Z6TeNGKU%3DLdAzOJxDL4pFj8eF%3D%3DeN7%3D5gX_XOGWUOZzUBm4JDL4uBgCIF%3D%3DeN7%
3D5hXLmDQpDhj2i_vlHlY43Ehoaq0ydL7l%2BG%2F4XEjofaWvuB9ohpJ3jV_qCN40NZ0ChQ
HBBzVpHinK5LIq0lz7SA6MaDpiRLp_hNYFYkpMIOWsILdqfpVnKkXpGD7lzZViImlBBNpd_Gzqi
_5o0ywo3Oowmr4pGLXtKG%2F%3DHDb4SOZgiBe7_xxLKEXqZrWBgZK%3D5ZnAmDYpgHnmCNC
o0C79RVjVCzGlG5Klhh5yXq%2FUHOguJYv7jlVoj8gMaqK%3DeLDb5_2qIH</span>

结果示例:

{

"errno":0,

"errstr":"ok",

"data":{

"status":1,

"tips":"好的,交给小度语音",

"token":"xxxx",

"query":"去五道口地铁站途径西二旗"

}

}



1.2  上行参数

参数名
必选
类型

描述
pname

string
xxx_xxx
调用者产品名称
ak

string
xxxxxxxxxxxx 服务鉴权密钥,百度分配
query

string
去五道口地铁站途径西二旗
查询query
caller

string
{"pb":"xx","mb":"V1829A","os":"Android28","pcn":"com.xxx.xxx","ver":"2.5.0.3"}
调用者(小V)场景信息,json string格式,具体格式和字段见下表
callee

string
iLTmEGYURKSx_xV+yJ=KOzwaB 被调用者(小度)场景信息,调用者(小x)从小度端获取,对调用者透明

caller调用者(小x)场景信息参数说明【小x客户端自己获取】

参数名
必选
类型

描述
pb

string
xxx
手机品牌
mb

string
V1829A
手机型号
os

string
Android28
设备系统版本号
pcn

string
com.xxx.agent(示意)
助手包名
ver

string
2.5.0.3
助手版本
ctm
string
1578918651425
客户端当前时间毫秒数
map_info

object
地图状态信息
map_info.app

string
com.baidu.BaiduMap
地图包名
map_info.processState

string
0,1,2 地图进程状态。0:未启动,1:前台,2:后台
map_info.versionCode

string
938 地图版本代码
map_info.versionName

string
10.19.8 地图版本号



1.3  下行参数

数据格式:json

结果示例:

{

"errno":0,

"errstr":"ok",

"data":{

"status":1,

"tips":"好的,交给小度语音",

"token":"xxx",

"query":"去五道口地铁站途径西二旗"

}

}


参数说明:

参数名
必选
类型

描述
errno

int
0,...
错误代码,0 成功,非0失败
errstr

string
ok,… 错误描述
data

object
返回数据
data.status

int
0,1,2,3
query鉴权结果:0 不支持 1 支持 2 当前场景不支持 3 当前场景暂不开放
data.tips

string
小度暂不支持该技能,
好的交给小度语音,
小度当前场景暂不支持该技能,
小度当前场景暂不开放该技能

query鉴权结果提示文案
data.token

string
A6AIt3l-sKlk7PYVtwpclXy 端上鉴权密钥,调起小度时传给小度,小度请求服务时回传
data.query

string
去五道口地铁站途径西二旗
查询query


错误码说明:

errno errstr 描述
0 ok 请求成功
2000 服务不可用 服务不可用
1000 参数错误x.y 参数错误x.y
1001 鉴权错误:ak鉴权失败 鉴权错误:ak鉴权失败



2、客户端接口协议

端上采用AIDL机制通信,提供一个通用接口,两端接口相同,既作为client端,又作为server端。

2.1、接口定义

/**

* 控制接口(类似openapi)

* action: 要执行的任务 checkAvailable, openBackground, openForeground, openVoice, closeVoice,getSceneStatus, getVoiceStatus

* ext: {"token","xxx","pname","xxx","query":""}

* {"token","xxx","pname","xxx"}

*/

String onControlAIVoice (String action , String ext);


2.2、参数说明

action(String)
ext (json字符串)
描述
返回值(json字符串)
返回值说明
checkAvailable

{"token","xxx","

pname","xxx"}

检测对方是否可用

{"errno":0,"errstr":"xxx",

"data":{"status":"0"}};

0可用,-1不可用

openBackground

{"token","xxx","

pname","xxx"}

打开语音助手APP在后台,提前加载一些任务

{"errno":0,"errstr":"xxx",

"data":{"status":"0"}};

openForeground

{"token","xxx","

pname","xxx"}

打开语音助手APP在前台,不支持场景兜底

{"errno":0,"errstr":"xxx",

"data":{"status":"0"}};

openVoice

{"token","xxx","pname","xxx",

"query":""}

调用语音助手的语音功能

{"errno":0,"errstr":"xxx",

"data":{"status":"0"}};

closeVoice

{"token","xxx","

pname","xxx"}

关闭语音助手的语音功能

{"errno":0,"errstr":"xxx",

"data":{"status":"0"}};

getSceneStatus

{"token","xxx","

pname","xxx"}

获取语音助手APP的场景信息

{"errno":0,"errstr":"xxx",

"data":{"scene":"xxx"}};

将scene参数透传到小度服务

callee参数即可

getVoiceStatus

{"token","xxx","

pname","xxx"}

获取语音助手功能的各种状态

{"errno":0,"errstr":"xxx",

"data":{"status":"start"}};

状态值status:
start-开启;
listen-监听说话;
relisten-二轮监听;
recognize-分析;
play-播报;
stop-停止;
cancel-取消;
finish-完成;

  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消