开源鸿蒙 SDK开发过程
SDK开发过程
SDK头文件的功能实现是基于对SDK的调用映射到对客户端的调用。Client端提供的接口如下表所示。
表1 Client端提供的接口
接口名 | 接口说明 | 参数要求 |
---|---|---|
int AieClientInit(const ConfigInfo &configInfo, ClientInfo &clientInfo, const AlgorithmInfo &algorithmInfo, IServiceDeadCb *cb) |
作用:链接并初始化引擎服务,激活跨进程调用。 返回值:0为成功,其他返回值失败。 |
configInfo(不能为NULL):引擎相关初始化配置数据 clientInfo(不能为NULL):引擎客户端信息 algorithmInfo(不能为NULL):调用算法信息 cb(可为NULL):死亡回调对象 |
int AieClientPrepare(const ClientInfo &clientInfo , const AlgorithmInfo &algorithmInfo, const DataInfo &inputInfo, DataInfo &outputInfo, IClientCb *cb) |
作用:加载算法插件。 返回值: 0为成功,其他返回值失败。 |
clientInfo(不能为NULL):引擎客户端信息 algorithmInfo(不能为NULL):调用算法信息 inputInfo(可为NULL):加载算法插件时输入所需信息 outputInfo(可为NULL):加载算法插件之后如需返回信息则通过此出参返回 cb:异步算法通过此回调返回运算结果,因此异步算法此结构体不能为空 若为同步算法,传入空值即可 |
int AieClientAsyncProcess(const ClientInfo &clientInfo, const AlgorithmInfo &algorithmInfo, const DataInfo &inputInfo) |
作用:执行异步算法。 返回值:0为成功,其他返回值失败。 |
clientInfo(不能为NULL):引擎客户端信息 algorithmInfo(不能为NULL):调用算法信息 inputInfo(可为NULL):算法运算入参 |
int AieClientSyncProcess(const ClientInfo &clientInfo, const AlgorithmInfo &algorithmInfo, const DataInfo &inputInfo, DataInfo &outputInfo) |
作用:执行同步算法。 返回值:0为成功,其他返回值失败。 |
clientInfo(不能为NULL):引擎客户端信息 algorithmInfo(不能为NULL):调用算法信息 inputInfo(可为NULL):算法运算入参 outputInfo(可为NULL):同步算法运算结果出参 |
int AieClientRelease(const ClientInfo &clientInfo, const AlgorithmInfo &algorithmInfo, const DataInfo &inputInfo) |
作用:卸载算法插件。 返回值:0为成功,其他返回值失败。 |
clientInfo(不能为NULL):引擎客户端信息 algorithmInfo(不能为NULL):卸载算法插件的相关信息 inputInfo(可为NULL):调用卸载接口时的输入信息 |
int AieClientDestroy(ClientInfo &clientInfo) | 作用:断开与服务端的链接,释放相关缓存。 返回值:0为成功,其他返回值失败。 |
clientInfo(不能为NULL):所要销毁的引擎客户端信息 |
int AieClientSetOption(const ClientInfo &clientInfo, int optionType, const DataInfo &inputInfo) |
作用:设置配置项,可将一些算法的拓展信息通过此接口传入插件。 返回值:0为成功,其他返回值失败。 |
clientInfo(不能为NULL):引擎客户端信息 optionType (不能为NULL):算法配置项,算法插件可根据需要利用此状态位 inputInfo(可为NULL):插件可根据需要通过此入参设置算法参数信息 |
int AieClientGetOption(const ClientInfo &clientInfo, int optionType, const DataInfo &inputInfo, DataInfo &outputInfo) |
作用:给定特定的optionType和inputInfo,获取其对应的配置项信息。 返回值:0为成功,其他返回值失败。 |
clientInfo(不能为NULL):引擎客户端信息 optionType(不能为NULL):所获取配置项信息的对应算法状态位 inputInfo(可为NULL):所获取配置项信息的对应算法参数信息 outputInfo(可为NULL):所要获取的配置项信息返回结果 |
其中,ConfigInfo,ClientInfo,AlgorithmInfo,DataInfo的数据结构如下表所示。
表2 ConfigInfo,ClientInfo,AlgorithmInfo,DataInfo的数据结构
结构体名称 | 说明 | 属性 |
---|---|---|
ConfigInfo | 算法配置项信息。 | const char *description:配置项信息主体 |
ClientInfo | 客户端信息。 | long long clientVersion:客户端设备版本号(当前还未启用) int clientId:客户端ID int sessionId:会话ID uid_t serverUid:server端UID uid_t clientUid:client端UID int extendLen:拓展信息(extendMsg)长度 unsigned char *extendMsg:拓展信息主体 |
AlgorithmInfo | 算法信息。 | long long clientVersion:客户端设备版本号(当前还未启用) bool isAsync:是否为异步执行 int algorithmType:引擎框架根据插件加载顺序分配的算法类型ID long long algorithmVersion:算法版本号 bool isCloud:是否上云(当前还未启用) int operateId:执行ID(当前还未启用) int requestId:请求ID,标识每次request,以对应执行结果 int extendLen:拓展信息(extendMsg)长度 unsigned char *extendMsg:拓展信息主体 |
DataInfo | 算法数据入参(inputInfo)、 接口调用结果出参(outputInfo)。 |
unsigned char *data:数据主体 int length:数据(data)长度 |
具体开发过程可参考唤醒词识别SDK开发示例。
你可能感兴趣的文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦