# intelligent_voice - [简介](#section11660541593) - [目录](#section161941989596) - [接口说明](#section1551164914237) - [使用说明](#section129654513264) - [相关仓](#section1371113476307) ## 简介 intelligent_voice仓下主要包含HDI接口,HDI接口主要用于: - 智能音频引擎的注册、管理、回调 - Trigger模型的管理、加载、卸载,以及回调 ## 目录 该仓下源代码目录结构如下所示 ``` drivers/peripheral/intelligent_voice/ ├── hdi_service # hdi服务,虚拟接口实现 │ └── engine # engine虚拟接口实现 │ └── trigger # trigger虚拟接口实现 ├── interfaces # intelligent_voice模块定义的虚拟接口 │ └── include # 接口定义 ``` ### 接口说明 intelligent_voice模块提供给intelligent_voice_framework可直接调用的能力接口,主要功能有:智能音频引擎的注册、管理、回调,Trigger模型的加载卸载,回调,以及管理等。 提供的部分接口说明如[表1 intelligent_voice HDI接口](#table1513255710559)所示: **表 1** intelligent_voice HDI接口

头文件

接口名称

功能描述

i_engine.h

virtual void OnIntellVoiceEvent(const IntellVoiceEngineCallBackEvent &event) = 0;

开启智能语音事件

virtual IntellVoiceStatus SetListener(std::shared_ptr listener) = 0;

设置监听器

virtual IntellVoiceStatus Init(const IntellVoiceEngineAdapterInfo &adapterInfo) = 0;

初始化

virtual IntellVoiceStatus Release() = 0;

释放

virtual IntellVoiceStatus SetParameter(const std::string &keyValueList) = 0;

设置参数

virtual IntellVoiceStatus GetParameter(const std::string &keyList, getParameterCb cb) = 0;

获取参数

virtual IntellVoiceStatus Write(const uint8_t *buffer, uint32_t size) = 0;

写入

virtual IntellVoiceStatus Start(const StartInfo& info) = 0;

启动

virtual IntellVoiceStatus Stop() = 0;

停止

virtual IntellVoiceStatus Cancel() = 0;

取消

virtual IntellVoiceStatus ReadFileData(const std::string &filePath, getFileDataCb cb) = 0;

读取文件数据

virtual int32_t CreateAdapter(const IntellVoiceEngineAdapterDescriptor &descriptor, std::unique_ptr &engine) = 0;

创建适配器

virtual int32_t ReleaseAdapter(const IntellVoiceEngineAdapterDescriptor &descriptor) = 0;

释放适配器

i_trigger.h

virtual void OnRecognitionHdiEvent(const IntellVoiceRecognitionEvent &event, int32_t cookie) = 0;

开启识别接口事件

virtual int32_t GetProperties(IntellVoiceTriggerProperties &properties) = 0;

获取属性

virtual int32_t LoadIntellVoiceTriggerModel(const TriggerModel &model, const std::shared_ptr &callback, int32_t cookie, int32_t &handle) = 0;

加载智能语音触发模型

virtual int32_t UnloadIntellVoiceTriggerModel(int32_t handle) = 0;

卸载智能语音触发模型

virtual int32_t Start(int32_t handle) = 0;

启动

virtual int32_t Stop(int32_t handle) = 0;

停止

virtual int32_t LoadAdapter(const IntellVoiceTriggerAdapterDsecriptor &descriptor, std::unique_ptr &adapter) = 0;

加载适配器

virtual int32_t UnloadAdapter(const IntellVoiceTriggerAdapterDsecriptor &descriptor) = 0;

卸载适配器

### 使用说明 该仓核心功能包括两个方面: 1. 提供intelligent_voice HDI接口供framework层调用,实现智能音频服务的基本功能。 2. 作为标准南向接口,保证南向OEM产商实现HDI-adapter的规范性,保证生态良性演进。 具体接口调用及实现,以接口注释为准。 ## 相关仓 [驱动子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E9%A9%B1%E5%8A%A8%E5%AD%90%E7%B3%BB%E7%BB%9F.md) [drivers\_framework](https://gitee.com/openharmony/drivers_framework/blob/master/README_zh.md) [drivers\_adapter](https://gitee.com/openharmony/drivers_adapter/blob/master/README_zh.md) [drivers\_adapter\_khdf\_linux](https://gitee.com/openharmony/drivers_adapter_khdf_linux/blob/master/README_zh.md) [drivers\_peripheral](https://gitee.com/openharmony/drivers_peripheral)