asr_engine
ASR引擎模块提供语音识别(ASR)功能的初始化、启停控制及拾音流管理接口,支持固定命令词与NPU模糊命令词两种识别模式。
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
接口清单
| 接口名称 | 功能简述 |
|---|---|
| IntellVoiceAsrEngineInit | 初始化ASR引擎,配置引擎参数并注册事件回调 |
| IntellVoiceAsrEngineStartRecognition | 启动ASR语音识别 |
| IntellVoiceAsrEngineStopRecognition | 停止ASR语音识别 |
| IntellVoiceAsrEngineDeInit | 反初始化ASR引擎,释放资源 |
| IntellVoiceAsrPickUpStreamStart | 启动拾音流 |
| IntellVoiceAsrPickUpStreamStop | 停止拾音流 |
Functions
IntellVoiceAsrEngineInit
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
功能说明
- 初始化ASR引擎上下文,分配引擎运行所需的内部资源
- 根据initParams配置引擎工作模式、语言类型、NPU使能状态及事件回调
- 创建音频会话并激活音频中断
前置条件
- 调用时序约束:ASR引擎未初始化时方可调用,若引擎已存在则返回失败
- 依赖关系:依赖AudioManager模块已就绪
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| initParams | AsrEngineInitParams* | ASR引擎初始化参数结构体指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| MEDIA_OK(0) | 初始化成功 | 引擎上下文初始化、会话创建、音频中断激活均成功 |
| MEDIA_ERR | 初始化失败 | 引擎已存在、上下文分配失败、会话初始化失败 |
IntellVoiceAsrEngineStartRecognition
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
功能说明
- 启动ASR语音识别流程
- 根据NPU使能状态选择识别模式:使能NPU时创建生产线程与NPU推理线程进行模糊命令词识别;未使能NPU时使用固定命令词识别
- 将引擎状态置为START
前置条件
- 调用时序约束:必须在IntellVoiceAsrEngineInit成功返回后调用
- 依赖关系:依赖ASR引擎已完成初始化且处于INIT状态
IntellVoiceAsrEngineStopRecognition
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
功能说明
- 停止ASR语音识别流程
- 根据NPU使能状态销毁生产线程和NPU推理线程,或停止固定命令词识别的音频流
- 将引擎状态置为STOP
前置条件
- 调用时序约束:必须在IntellVoiceAsrEngineStartRecognition成功返回后调用,引擎处于START状态
- 依赖关系:依赖ASR引擎识别流程已启动
IntellVoiceAsrEngineDeInit
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
功能说明
- 反初始化ASR引擎,释放所有运行资源
- 若引擎处于START状态,自动先停止识别再执行反初始化
- 释放NPU上下文、生产上下文、音频处理上下文,并去激活音频中断
前置条件
- 调用时序约束:必须在IntellVoiceAsrEngineInit成功返回后调用
- 依赖关系:依赖ASR引擎已初始化,g_asrCtx非空
IntellVoiceAsrPickUpStreamStart
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
功能说明
- 启动拾音流,创建音频输出流和音频输入流
- 激活拾音流音频中断,初始化并启动音频输出与输入通道
- 将拾音流状态置为已启动
前置条件
- 调用时序约束:拾音流未启动时方可调用,若已启动则返回失败
- 依赖关系:依赖AudioManager模块已就绪
IntellVoiceAsrPickUpStreamStop
头文件清单
#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"
功能说明
- 停止拾音流,停止并释放音频输出流和音频输入流
- 去激活拾音流音频中断
- 将拾音流状态置为未启动
前置条件
- 调用时序约束:必须在IntellVoiceAsrPickUpStreamStart成功返回后调用,拾音流处于已启动状态
- 依赖关系:依赖拾音流已启动
Enumerations
AsrEngineEvent
typedef enum {
ASR_ENGINE_EVENT_STOP, /* 引擎停止 */
ASR_ENGINE_EVENT_VOICE_BEGIN, /* 语音开始 */
ASR_ENGINE_EVENT_VOICE_END, /* 语音结束 */
ASR_ENGINE_EVENT_VOICE_COMMAND, /* 语音命令 */
ASR_ENGINE_EVENT_VOICE_ERROR, /* 语音错误 */
ASR_ENGINE_EVENT_MAX
} AsrEngineEvent;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_EVENT_STOP | 0 | 引擎停止 |
| ASR_ENGINE_EVENT_VOICE_BEGIN | 1 | 语音开始 |
| ASR_ENGINE_EVENT_VOICE_END | 2 | 语音结束 |
| ASR_ENGINE_EVENT_VOICE_COMMAND | 3 | 语音命令识别结果 |
| ASR_ENGINE_EVENT_VOICE_ERROR | 4 | 语音错误 |
| ASR_ENGINE_EVENT_MAX | 5 | 枚举边界值 |
AsrEngineCmdId
typedef enum {
ASR_ENGINE_CMD_APP_CONTROL = 1, /* APP控制 */
ASR_ENGINE_CMD_MUSIC_CONTROL, /* 音乐控制 */
ASR_ENGINE_CMD_ALARM_CONTROL, /* 闹钟控制 */
ASR_ENGINE_CMD_MOTION_CONTROL, /* 运动控制 */
ASR_ENGINE_CMD_TELEPHONE_CONTROL, /* 电话控制 */
ASR_ENGINE_CMD_TIMER_CONTROL, /* 计数器控制 */
ASR_ENGINE_CMD_DEVICE_CONTROL, /* 设备控制 */
ASR_ENGINE_CMD_WAKEUP_KEYWORD, /* 唤醒词 */
ASR_ENGINE_CMD_MAX,
} AsrEngineCmdId;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_CMD_APP_CONTROL | 1 | APP控制 |
| ASR_ENGINE_CMD_MUSIC_CONTROL | 2 | 音乐控制 |
| ASR_ENGINE_CMD_ALARM_CONTROL | 3 | 闹钟控制 |
| ASR_ENGINE_CMD_MOTION_CONTROL | 4 | 运动控制 |
| ASR_ENGINE_CMD_TELEPHONE_CONTROL | 5 | 电话控制 |
| ASR_ENGINE_CMD_TIMER_CONTROL | 6 | 计数器控制 |
| ASR_ENGINE_CMD_DEVICE_CONTROL | 7 | 设备控制 |
| ASR_ENGINE_CMD_WAKEUP_KEYWORD | 8 | 唤醒词 |
| ASR_ENGINE_CMD_MAX | 9 | 枚举边界值 |
AsrEngineAppControl
typedef enum {
ASR_ENGINE_APP_CTRL_OPEN = 1,
ASR_ENGINE_APP_CTRL_CLOSE = 2,
ASR_ENGINE_APP_CTRL_MAX,
} AsrEngineAppControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_APP_CTRL_OPEN | 1 | 打开应用 |
| ASR_ENGINE_APP_CTRL_CLOSE | 2 | 关闭应用 |
| ASR_ENGINE_APP_CTRL_MAX | 3 | 枚举边界值 |
AsrEngineAppId
typedef enum {
ASR_ENGINE_APP_SETTING = 1, /* 打开设置 */
ASR_ENGINE_APP_HEART_RATE, /* 打开心率 */
ASR_ENGINE_APP_SPORT, /* 打开运动 */
ASR_ENGINE_APP_SPORT_RECORD, /* 打开运动记录 */
ASR_ENGINE_APP_ACTIVATY_RECORD, /* 打开活动记录 */
ASR_ENGINE_APP_TRANING_STATUS, /* 打开训练状态 */
ASR_ENGINE_APP_SPO2, /* 打开血氧饱和度 */
ASR_ENGINE_APP_SLEEP, /* 打开睡眠 */
ASR_ENGINE_APP_PRESSURE, /* 打开压力 */
ASR_ENGINE_APP_BREATH_TRAIN, /* 打开呼吸训练 */
ASR_ENGINE_APP_ELECTROCARDIO, /* 打开心电 */
ASR_ENGINE_APP_PAI, /* 打开PAI */
ASR_ENGINE_APP_CALL_RECORDS, /* 打开通话记录 */
ASR_ENGINE_APP_FAVOURITES, /* 打开常用联系人 */
ASR_ENGINE_APP_WEATHER, /* 打开天气 */
ASR_ENGINE_APP_MUSIC_APP, /* 打开音乐 */
ASR_ENGINE_APP_REMOTE_PHOTO, /* 打开遥控拍照 */
ASR_ENGINE_APP_NOTIFICATION, /* 打开通知 */
ASR_ENGINE_APP_ALARM_APP, /* 打开闹钟 */
ASR_ENGINE_APP_CALENDAR, /* 打开日程 */
ASR_ENGINE_APP_WALLET, /* 打开卡包 */
ASR_ENGINE_APP_COMPASS, /* 打开指南针 */
ASR_ENGINE_APP_STOPWATCH, /* 打开秒表 */
ASR_ENGINE_APP_TIMER, /* 打开倒计时 */
ASR_ENGINE_APP_WECHAT_PAY, /* 打开微信支付 */
ASR_ENGINE_APP_ALI_PAY, /* 打开支付宝 */
ASR_ENGINE_APP_ALI_PAY_SCAN, /* 打开支付宝扫一扫 */
ASR_ENGINE_APP_BAROMETER, /* 打开海拔气压计 */
ASR_ENGINE_APP_ALTIMETER, /* 打开气压高度计 */
ASR_ENGINE_APP_NETEASY_MUSIC, /* 打开网易音乐 */
ASR_ENGINE_APP_TELEPHONE, /* 打开电话 */
ASR_ENGINE_APP_MESSAGE, /* 打开短信 */
ASR_ENGINE_APP_WATCH_FACE, /* 打开表盘 */
ASR_ENGINE_APP_BUS_CARD, /* 打开公交卡 */
ASR_ENGINE_APP_ACCESS_CARD, /* 打开门禁卡 */
ASR_ENGINE_APP_MAX,
} AsrEngineAppId;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_APP_SETTING | 1 | 打开设置 |
| ASR_ENGINE_APP_HEART_RATE | 2 | 打开心率 |
| ASR_ENGINE_APP_SPORT | 3 | 打开运动 |
| ASR_ENGINE_APP_SPORT_RECORD | 4 | 打开运动记录 |
| ASR_ENGINE_APP_ACTIVATY_RECORD | 5 | 打开活动记录 |
| ASR_ENGINE_APP_TRANING_STATUS | 6 | 打开训练状态 |
| ASR_ENGINE_APP_SPO2 | 7 | 打开血氧饱和度 |
| ASR_ENGINE_APP_SLEEP | 8 | 打开睡眠 |
| ASR_ENGINE_APP_PRESSURE | 9 | 打开压力 |
| ASR_ENGINE_APP_BREATH_TRAIN | 10 | 打开呼吸训练 |
| ASR_ENGINE_APP_ELECTROCARDIO | 11 | 打开心电 |
| ASR_ENGINE_APP_PAI | 12 | 打开PAI |
| ASR_ENGINE_APP_CALL_RECORDS | 13 | 打开通话记录 |
| ASR_ENGINE_APP_FAVOURITES | 14 | 打开常用联系人 |
| ASR_ENGINE_APP_WEATHER | 15 | 打开天气 |
| ASR_ENGINE_APP_MUSIC_APP | 16 | 打开音乐 |
| ASR_ENGINE_APP_REMOTE_PHOTO | 17 | 打开遥控拍照 |
| ASR_ENGINE_APP_NOTIFICATION | 18 | 打开通知 |
| ASR_ENGINE_APP_ALARM_APP | 19 | 打开闹钟 |
| ASR_ENGINE_APP_CALENDAR | 20 | 打开日程 |
| ASR_ENGINE_APP_WALLET | 21 | 打开卡包 |
| ASR_ENGINE_APP_COMPASS | 22 | 打开指南针 |
| ASR_ENGINE_APP_STOPWATCH | 23 | 打开秒表 |
| ASR_ENGINE_APP_TIMER | 24 | 打开倒计时 |
| ASR_ENGINE_APP_WECHAT_PAY | 25 | 打开微信支付 |
| ASR_ENGINE_APP_ALI_PAY | 26 | 打开支付宝 |
| ASR_ENGINE_APP_ALI_PAY_SCAN | 27 | 打开支付宝扫一扫 |
| ASR_ENGINE_APP_BAROMETER | 28 | 打开海拔气压计 |
| ASR_ENGINE_APP_ALTIMETER | 29 | 打开气压高度计 |
| ASR_ENGINE_APP_NETEASY_MUSIC | 30 | 打开网易音乐 |
| ASR_ENGINE_APP_TELEPHONE | 31 | 打开电话 |
| ASR_ENGINE_APP_MESSAGE | 32 | 打开短信 |
| ASR_ENGINE_APP_WATCH_FACE | 33 | 打开表盘 |
| ASR_ENGINE_APP_BUS_CARD | 34 | 打开公交卡 |
| ASR_ENGINE_APP_ACCESS_CARD | 35 | 打开门禁卡 |
| ASR_ENGINE_APP_MAX | 36 | 枚举边界值 |
AsrEngineMusicControl
typedef enum {
ASR_ENGINE_MUSIC_CTRL_PLAY, /* 播放音乐 */
ASR_ENGINE_MUSIC_CTRL_PAUSE, /* 暂停音乐 */
ASR_ENGINE_MUSIC_CTRL_RESUME, /* 恢复音乐 */
ASR_ENGINE_MUSIC_CTRL_STOP, /* 停止音乐 */
ASR_ENGINE_MUSIC_CTRL_PLAY_PRE, /* 播放上一首 */
ASR_ENGINE_MUSIC_CTRL_PLAY_NEXT, /* 播放下一首 */
ASR_ENGINE_MUSIC_CTRL_PLAY_LOOP, /* 单曲循环 */
ASR_ENGINE_MUSIC_CTRL_PLAY_SHUFFLE, /* 随机播放 */
ASR_ENGINE_MUSIC_CTRL_PLAY_REPEAT_LIST, /* 列表循环 */
ASR_ENGINE_MUSIC_CTRL_PLAY_MY_COLLECTION, /* 播放我的收藏 */
ASR_ENGINE_MUSIC_CTRL_PLAY_RUNNING_MUSIC, /* 播放跑步音乐 */
ASR_ENGINE_MUSIC_CTRL_PLAY_ALL_MUSIC, /* 播放全部歌曲 */
ASR_ENGINE_MUSIC_CTRL_PLAY_PHONE_MUSIC, /* 播放手机音乐 */
ASR_ENGINE_MUSIC_CTRL_PLAY_WATCH_MUSIC, /* 播放手表音乐 */
ASR_ENGINE_MUSIC_CTRL_MAX,
} AsrEngineMusicControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_MUSIC_CTRL_PLAY | 0 | 播放音乐 |
| ASR_ENGINE_MUSIC_CTRL_PAUSE | 1 | 暂停音乐 |
| ASR_ENGINE_MUSIC_CTRL_RESUME | 2 | 恢复音乐 |
| ASR_ENGINE_MUSIC_CTRL_STOP | 3 | 停止音乐 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_PRE | 4 | 播放上一首 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_NEXT | 5 | 播放下一首 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_LOOP | 6 | 单曲循环 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_SHUFFLE | 7 | 随机播放 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_REPEAT_LIST | 8 | 列表循环 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_MY_COLLECTION | 9 | 播放我的收藏 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_RUNNING_MUSIC | 10 | 播放跑步音乐 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_ALL_MUSIC | 11 | 播放全部歌曲 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_PHONE_MUSIC | 12 | 播放手机音乐 |
| ASR_ENGINE_MUSIC_CTRL_PLAY_WATCH_MUSIC | 13 | 播放手表音乐 |
| ASR_ENGINE_MUSIC_CTRL_MAX | 14 | 枚举边界值 |
AsrEngineTimeDay
typedef enum {
ASR_ENGINE_TIME_INVALID, /* 无效值 */
ASR_ENGINE_TIME_TODAY, /* 今天 */
ASR_ENGINE_TIME_TOMORROW, /* 明天 */
ASR_ENGINE_TIME_THE_DAY_AFTER_TOMORROW, /* 后天 */
ASR_ENGINE_TIME_THE_DAY_AFTER_THE_DAY_AFTER_TOMORROW, /* 大后天 */
ASR_ENGINE_TIME_MAX,
} AsrEngineTimeDay;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_TIME_INVALID | 0 | 无效值 |
| ASR_ENGINE_TIME_TODAY | 1 | 今天 |
| ASR_ENGINE_TIME_TOMORROW | 2 | 明天 |
| ASR_ENGINE_TIME_THE_DAY_AFTER_TOMORROW | 3 | 后天 |
| ASR_ENGINE_TIME_THE_DAY_AFTER_THE_DAY_AFTER_TOMORROW | 4 | 大后天 |
| ASR_ENGINE_TIME_MAX | 5 | 枚举边界值 |
AsrEngineTimePeriod
typedef enum {
ASR_ENGINE_TIME_PERIOD_INVALID, /* 无效值 */
ASR_ENGINE_TIME_PERIOD_AM, /* 上午 */
ASR_ENGINE_TIME_PERIOD_PM, /* 下午 */
ASR_ENGINE_TIME_PERIOD_MAX,
} AsrEngineTimePeriod;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_TIME_PERIOD_INVALID | 0 | 无效值 |
| ASR_ENGINE_TIME_PERIOD_AM | 1 | 上午 |
| ASR_ENGINE_TIME_PERIOD_PM | 2 | 下午 |
| ASR_ENGINE_TIME_PERIOD_MAX | 3 | 枚举边界值 |
AsrEngineAlarmControl
typedef enum {
ASR_ENGINE_ALARM_CTRL_SET, /* 设置闹钟 */
ASR_ENGINE_ALARM_CTRL_MAX,
} AsrEngineAlarmControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_ALARM_CTRL_SET | 0 | 设置闹钟 |
| ASR_ENGINE_ALARM_CTRL_MAX | 1 | 枚举边界值 |
AsrEngineMotionControl
typedef enum {
ASR_ENGINE_MOTION_CTRL_START_SPORT, /* 开始运动 */
ASR_ENGINE_MOTION_CTRL_START_INDOOR_RUNNING, /* 开始室内跑 */
ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_RUNNING, /* 开始户外跑 */
ASR_ENGINE_MOTION_CTRL_START_RUNNING_COURSE, /* 开始跑步课程 */
ASR_ENGINE_MOTION_CTRL_START_INDOOR_WALKING, /* 开始室内健走 */
ASR_ENGINE_MOTION_CTRL_START_WALKING, /* 开始健走 */
ASR_ENGINE_MOTION_CTRL_START_INDOOR_CYCLING, /* 开始室内骑行 */
ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_CYCLING, /* 开始户外骑行 */
ASR_ENGINE_MOTION_CTRL_START_TREADMILL, /* 开始跑步机 */
ASR_ENGINE_MOTION_CTRL_START_OPENWATER_SWIMMING, /* 开始公开水域游泳 */
ASR_ENGINE_MOTION_CTRL_START_POOL_SWIMMING, /* 开始泳池游泳 */
ASR_ENGINE_MOTION_CTRL_START_ELLIPTICAL, /* 开始椭圆机 */
ASR_ENGINE_MOTION_CTRL_START_CLIMBING, /* 开始登山 */
ASR_ENGINE_MOTION_CTRL_START_TRAIL_RUNNING, /* 开始越野跑 */
ASR_ENGINE_MOTION_CTRL_START_SKIING, /* 开始滑雪 */
ASR_ENGINE_MOTION_CTRL_START_ROWING, /* 开始划船机 */
ASR_ENGINE_MOTION_CTRL_START_TRIATHLON, /* 开始铁人三项 */
ASR_ENGINE_MOTION_CTRL_START_GOLF, /* 开始高尔夫 */
ASR_ENGINE_MOTION_CTRL_START_FREE_TRAINING, /* 开始自由训练 */
ASR_ENGINE_MOTION_CTRL_ADD_SPORT, /* 开始添加运动 */
ASR_ENGINE_MOTION_CTRL_PAUSE_SPORT, /* 暂停运动 */
ASR_ENGINE_MOTION_CTRL_RESUME_SPORT, /* 继续运动 */
ASR_ENGINE_MOTION_CTRL_STOP_SPORT, /* 停止运动 */
ASR_ENGINE_MOTION_CTRL_START_LAST_SPORT, /* 开始上次运动 */
ASR_ENGINE_MOTION_CTRL_MAX,
} AsrEngineMotionControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_MOTION_CTRL_START_SPORT | 0 | 开始运动 |
| ASR_ENGINE_MOTION_CTRL_START_INDOOR_RUNNING | 1 | 开始室内跑 |
| ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_RUNNING | 2 | 开始户外跑 |
| ASR_ENGINE_MOTION_CTRL_START_RUNNING_COURSE | 3 | 开始跑步课程 |
| ASR_ENGINE_MOTION_CTRL_START_INDOOR_WALKING | 4 | 开始室内健走 |
| ASR_ENGINE_MOTION_CTRL_START_WALKING | 5 | 开始健走 |
| ASR_ENGINE_MOTION_CTRL_START_INDOOR_CYCLING | 6 | 开始室内骑行 |
| ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_CYCLING | 7 | 开始户外骑行 |
| ASR_ENGINE_MOTION_CTRL_START_TREADMILL | 8 | 开始跑步机 |
| ASR_ENGINE_MOTION_CTRL_START_OPENWATER_SWIMMING | 9 | 开始公开水域游泳 |
| ASR_ENGINE_MOTION_CTRL_START_POOL_SWIMMING | 10 | 开始泳池游泳 |
| ASR_ENGINE_MOTION_CTRL_START_ELLIPTICAL | 11 | 开始椭圆机 |
| ASR_ENGINE_MOTION_CTRL_START_CLIMBING | 12 | 开始登山 |
| ASR_ENGINE_MOTION_CTRL_START_TRAIL_RUNNING | 13 | 开始越野跑 |
| ASR_ENGINE_MOTION_CTRL_START_SKIING | 14 | 开始滑雪 |
| ASR_ENGINE_MOTION_CTRL_START_ROWING | 15 | 开始划船机 |
| ASR_ENGINE_MOTION_CTRL_START_TRIATHLON | 16 | 开始铁人三项 |
| ASR_ENGINE_MOTION_CTRL_START_GOLF | 17 | 开始高尔夫 |
| ASR_ENGINE_MOTION_CTRL_START_FREE_TRAINING | 18 | 开始自由训练 |
| ASR_ENGINE_MOTION_CTRL_ADD_SPORT | 19 | 开始添加运动 |
| ASR_ENGINE_MOTION_CTRL_PAUSE_SPORT | 20 | 暂停运动 |
| ASR_ENGINE_MOTION_CTRL_RESUME_SPORT | 21 | 继续运动 |
| ASR_ENGINE_MOTION_CTRL_STOP_SPORT | 22 | 停止运动 |
| ASR_ENGINE_MOTION_CTRL_START_LAST_SPORT | 23 | 开始上次运动 |
| ASR_ENGINE_MOTION_CTRL_MAX | 24 | 枚举边界值 |
AsrEngineMotionTarget
typedef enum {
ASR_ENGINE_MOTION_TARGET_NONE = 0x00, /* 无目标 */
ASR_ENGINE_MOTION_TARGET_DISTANCE_KM, /* 距离目标:千米 */
ASR_ENGINE_MOTION_TARGET_STEPS, /* 步数目标 */
ASR_ENGINE_MOTION_TARGET_TRIPS, /* 趟数/圈数目标 */
ASR_ENGINE_MOTION_TARGET_DISTANCE_M, /* 距离目标:米 */
ASR_ENGINE_MOTION_TARGET_CALORIE, /* 卡路里目标 */
ASR_ENGINE_MOTION_TARGET_MAX,
} AsrEngineMotionTarget;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_MOTION_TARGET_NONE | 0 | 无目标 |
| ASR_ENGINE_MOTION_TARGET_DISTANCE_KM | 1 | 距离目标:千米 |
| ASR_ENGINE_MOTION_TARGET_STEPS | 2 | 步数目标 |
| ASR_ENGINE_MOTION_TARGET_TRIPS | 3 | 趟数/圈数目标 |
| ASR_ENGINE_MOTION_TARGET_DISTANCE_M | 4 | 距离目标:米 |
| ASR_ENGINE_MOTION_TARGET_CALORIE | 5 | 卡路里目标 |
| ASR_ENGINE_MOTION_TARGET_MAX | 6 | 枚举边界值 |
AsrEngineTelephoneControl
typedef enum {
ASR_ENGINE_TELEPHONE_CTRL_DIAL_NUMBER, /* 拨打电话 */
ASR_ENGINE_TELEPHONE_CTRL_ANSWER_CALL, /* 接听电话 */
ASR_ENGINE_TELEPHONE_CTRL_REFUSE_CALL, /* 拒绝电话 */
ASR_ENGINE_TELEPHONE_CTRL_MAX,
} AsrEngineTelephoneControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_TELEPHONE_CTRL_DIAL_NUMBER | 0 | 拨打电话 |
| ASR_ENGINE_TELEPHONE_CTRL_ANSWER_CALL | 1 | 接听电话 |
| ASR_ENGINE_TELEPHONE_CTRL_REFUSE_CALL | 2 | 拒绝电话 |
| ASR_ENGINE_TELEPHONE_CTRL_MAX | 3 | 枚举边界值 |
AsrEngineTimerControl
typedef enum {
ASR_ENGINE_TIMER_CTRL_SET = 0x01, /* 设置计时器 */
ASR_ENGINE_TIMER_CTRL_START = 0x02, /* 启动计时器 */
ASR_ENGINE_TIMER_CTRL_PAUSE = 0x03, /* 暂停计时器 */
ASR_ENGINE_TIMER_CTRL_RESUME = 0x04, /* 恢复计时器 */
ASR_ENGINE_TIMER_CTRL_RESET = 0x05, /* 复位计时器 */
ASR_ENGINE_TIMER_CTRL_RESTART = 0x06, /* 重启计时器 */
ASR_ENGINE_TIMER_CTRL_MAX, /* 枚举边界值 */
} AsrEngineTimerControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_TIMER_CTRL_SET | 1 | 设置计时器 |
| ASR_ENGINE_TIMER_CTRL_START | 2 | 启动计时器 |
| ASR_ENGINE_TIMER_CTRL_PAUSE | 3 | 暂停计时器 |
| ASR_ENGINE_TIMER_CTRL_RESUME | 4 | 恢复计时器 |
| ASR_ENGINE_TIMER_CTRL_RESET | 5 | 复位计时器 |
| ASR_ENGINE_TIMER_CTRL_RESTART | 6 | 重启计时器 |
| ASR_ENGINE_TIMER_CTRL_MAX | 7 | 枚举边界值 |
AsrEngineDeviceControl
typedef enum {
ASR_ENGINE_DEVICE_CTRL_SET_BRIGHTNESS, /* 设置亮度 */
ASR_ENGINE_DEVICE_CTRL_INCREASE_BRIGHTNESS, /* 增大亮度 */
ASR_ENGINE_DEVICE_CTRL_DECREASE_BRIGHTNESS, /* 减小亮度 */
ASR_ENGINE_DEVICE_CTRL_OPEN_MUTE, /* 打开静音 */
ASR_ENGINE_DEVICE_CTRL_INCREASE_VOLUME, /* 增大音量 */
ASR_ENGINE_DEVICE_CTRL_DECREASE_VOLUME, /* 减小音量 */
ASR_ENGINE_DEVICE_CTRL_OPEN_STEADY_SCREEN, /* 打开持续亮屏 */
ASR_ENGINE_DEVICE_CTRL_CLOSE_STEADY_SCREEN, /* 关闭持续亮屏 */
ASR_ENGINE_DEVICE_CTRL_SET_RING, /* 设置铃声 */
ASR_ENGINE_DEVICE_CTRL_LOCK_SCREEN, /* 锁定屏幕 */
ASR_ENGINE_DEVICE_CTRL_RETURN_HOME, /* 回到表盘 */
ASR_ENGINE_DEVICE_CTRL_SET_NODISTURB, /* 设置勿扰 */
ASR_ENGINE_DEVICE_CTRL_OPEN_NODISTURB, /* 打开勿扰 */
ASR_ENGINE_DEVICE_CTRL_CLOSE_NODISTURB, /* 关闭勿扰 */
ASR_ENGINE_DEVICE_CTRL_TIMING_NODISTURB, /* 定时勿扰 */
ASR_ENGINE_DEVICE_CTRL_SMART_NODISTURB, /* 智能勿扰 */
ASR_ENGINE_DEVICE_CTRL_OPEN_POWER_SAVE, /* 打开省电 */
ASR_ENGINE_DEVICE_CTRL_CLOSE_POWER_SAVE, /* 关闭省电 */
ASR_ENGINE_DEVICE_CTRL_OPEN_THEATER, /* 打开剧院 */
ASR_ENGINE_DEVICE_CTRL_CLOSE_THEATER, /* 关闭剧院 */
ASR_ENGINE_DEVICE_CTRL_CONNECT_PHONE, /* 连接手机 */
ASR_ENGINE_DEVICE_CTRL_FIND_PHONE, /* 查找手机 */
ASR_ENGINE_DEVICE_CTRL_OPEN_FLASHLIGHT, /* 打开手电筒 */
ASR_ENGINE_DEVICE_CTRL_CLOSE_FLASHLIGHT, /* 关闭手电筒 */
ASR_ENGINE_DEVICE_CTRL_MAX,
} AsrEngineDeviceControl;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_DEVICE_CTRL_SET_BRIGHTNESS | 0 | 设置亮度 |
| ASR_ENGINE_DEVICE_CTRL_INCREASE_BRIGHTNESS | 1 | 增大亮度 |
| ASR_ENGINE_DEVICE_CTRL_DECREASE_BRIGHTNESS | 2 | 减小亮度 |
| ASR_ENGINE_DEVICE_CTRL_OPEN_MUTE | 3 | 打开静音 |
| ASR_ENGINE_DEVICE_CTRL_INCREASE_VOLUME | 4 | 增大音量 |
| ASR_ENGINE_DEVICE_CTRL_DECREASE_VOLUME | 5 | 减小音量 |
| ASR_ENGINE_DEVICE_CTRL_OPEN_STEADY_SCREEN | 6 | 打开持续亮屏 |
| ASR_ENGINE_DEVICE_CTRL_CLOSE_STEADY_SCREEN | 7 | 关闭持续亮屏 |
| ASR_ENGINE_DEVICE_CTRL_SET_RING | 8 | 设置铃声 |
| ASR_ENGINE_DEVICE_CTRL_LOCK_SCREEN | 9 | 锁定屏幕 |
| ASR_ENGINE_DEVICE_CTRL_RETURN_HOME | 10 | 回到表盘 |
| ASR_ENGINE_DEVICE_CTRL_SET_NODISTURB | 11 | 设置勿扰 |
| ASR_ENGINE_DEVICE_CTRL_OPEN_NODISTURB | 12 | 打开勿扰 |
| ASR_ENGINE_DEVICE_CTRL_CLOSE_NODISTURB | 13 | 关闭勿扰 |
| ASR_ENGINE_DEVICE_CTRL_TIMING_NODISTURB | 14 | 定时勿扰 |
| ASR_ENGINE_DEVICE_CTRL_SMART_NODISTURB | 15 | 智能勿扰 |
| ASR_ENGINE_DEVICE_CTRL_OPEN_POWER_SAVE | 16 | 打开省电 |
| ASR_ENGINE_DEVICE_CTRL_CLOSE_POWER_SAVE | 17 | 关闭省电 |
| ASR_ENGINE_DEVICE_CTRL_OPEN_THEATER | 18 | 打开剧院 |
| ASR_ENGINE_DEVICE_CTRL_CLOSE_THEATER | 19 | 关闭剧院 |
| ASR_ENGINE_DEVICE_CTRL_CONNECT_PHONE | 20 | 连接手机 |
| ASR_ENGINE_DEVICE_CTRL_FIND_PHONE | 21 | 查找手机 |
| ASR_ENGINE_DEVICE_CTRL_OPEN_FLASHLIGHT | 22 | 打开手电筒 |
| ASR_ENGINE_DEVICE_CTRL_CLOSE_FLASHLIGHT | 23 | 关闭手电筒 |
| ASR_ENGINE_DEVICE_CTRL_MAX | 24 | 枚举边界值 |
AsrEngineWakeupKeyword
typedef enum {
ASR_ENGINE_WAKEUP_KEYWORD_XIAO_YI = 0x01, /* 小艺,小艺 */
ASR_ENGINE_WAKEUP_KEYWORD_XIAO_WEI = 0x02, /* 小薇,小薇 */
ASR_ENGINE_WAKEUP_KEYWORD_HELLO_YOYO = 0x03, /* 你好悠悠 */
ASR_ENGINE_WAKEUP_KEYWORD_XIAO_AI = 0x04, /* 小爱 */
ASR_ENGINE_WAKEUP_KEYWORD_HI_CELIA = 0x05, /* 嗨,塞莉亚 */
ASR_ENGINE_WAKEUP_KEYWORD_MAX,
} AsrEngineWakeupKeyword;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_WAKEUP_KEYWORD_XIAO_YI | 1 | 小艺,小艺 |
| ASR_ENGINE_WAKEUP_KEYWORD_XIAO_WEI | 2 | 小薇,小薇 |
| ASR_ENGINE_WAKEUP_KEYWORD_HELLO_YOYO | 3 | 你好悠悠 |
| ASR_ENGINE_WAKEUP_KEYWORD_XIAO_AI | 4 | 小爱 |
| ASR_ENGINE_WAKEUP_KEYWORD_HI_CELIA | 5 | 嗨,塞莉亚 |
| ASR_ENGINE_WAKEUP_KEYWORD_MAX | 6 | 枚举边界值 |
AsrEngineWorkMode
typedef enum {
ASR_ENGINE_WAKEUP_ON_VAD, /* VAD唤醒模式,检测到人声时唤醒 */
ASR_ENGINE_ALWAYS_WAKE, /* 始终唤醒模式,保持引擎持续唤醒 */
} AsrEngineWorkMode;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_WAKEUP_ON_VAD | 0 | VAD唤醒模式,检测到人声时唤醒 |
| ASR_ENGINE_ALWAYS_WAKE | 1 | 始终唤醒模式,保持引擎持续唤醒 |
AsrEngineLanguage
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ASR_ENGINE_CHINESE | 0 | 中文 |
| ASR_ENGINE_ENGLISH | 1 | 英文(暂不支持) |
Structures
AsrEngineAppControlInfo
typedef struct {
AsrEngineAppId appId;
AsrEngineAppControl appControlType;
} AsrEngineAppControlInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| appId | AsrEngineAppId | 应用标识 |
| appControlType | AsrEngineAppControl | 应用控制类型 |
AsrEngineMusicControlInfo
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| musicControlType | AsrEngineMusicControl | 音乐控制类型 |
AsrEngineDateTime
typedef struct {
AsrEngineTimeDay day;
AsrEngineTimePeriod timePeriod;
int32_t hour;
int32_t minute;
} AsrEngineDateTime;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| day | AsrEngineTimeDay | 日期 |
| timePeriod | AsrEngineTimePeriod | 时间段 |
| hour | int32_t | 小时 |
| minute | int32_t | 分钟 |
AsrEngineAlarmControlInfo
typedef struct {
AsrEngineAlarmControl alarmControlType;
AsrEngineDateTime alarmDateTime;
} AsrEngineAlarmControlInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| alarmControlType | AsrEngineAlarmControl | 闹钟控制类型 |
| alarmDateTime | AsrEngineDateTime | 闹钟时间 |
AsrEngineMotionControlInfo
typedef struct {
AsrEngineMotionControl motionControlType;
AsrEngineMotionTarget motionTarget;
float value;
} AsrEngineMotionControlInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| motionControlType | AsrEngineMotionControl | 运动控制类型 |
| motionTarget | AsrEngineMotionTarget | 运动目标类型 |
| value | float | 运动目标值 |
AsrEngineTelephoneControlInfo
typedef struct {
AsrEngineTelephoneControl telephoneControlType;
uint32_t telnum;
} AsrEngineTelephoneControlInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| telephoneControlType | AsrEngineTelephoneControl | 电话控制类型 |
| telnum | uint32_t | 电话号码 |
AsrEngineTimerControlInfo
typedef struct {
AsrEngineTimerControl timerControlType;
int32_t hour; /* 单位:小时 */
int32_t minute; /* 单位:分钟 */
int32_t second; /* 单位:秒 */
} AsrEngineTimerControlInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| timerControlType | AsrEngineTimerControl | 计时器控制类型 |
| hour | int32_t | 小时 |
| minute | int32_t | 分钟 |
| second | int32_t | 秒 |
AsrEngineDeviceControlInfo
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| deviceControlType | AsrEngineDeviceControl | 设备控制类型 |
AsrEngineWakeupKeywordInfo
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| wakeupKeyword | AsrEngineWakeupKeyword | 唤醒词类型 |
AsrEngineCmdInfo
typedef struct {
int32_t index;
AsrEngineCmdId cmdId;
union {
AsrEngineAppControlInfo appControlInfo;
AsrEngineMusicControlInfo musicControlInfo;
AsrEngineAlarmControlInfo alarmControlInfo;
AsrEngineMotionControlInfo motionControlInfo;
AsrEngineTelephoneControlInfo telephoneControlInfo;
AsrEngineTimerControlInfo timerControlInfo;
AsrEngineDeviceControlInfo deviceControlInfo;
AsrEngineWakeupKeywordInfo wakeupKeywordInfo;
};
} AsrEngineCmdInfo;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| index | int32_t | 命令索引 |
| cmdId | AsrEngineCmdId | 命令标识 |
| appControlInfo | AsrEngineAppControlInfo | APP控制信息(联合体成员) |
| musicControlInfo | AsrEngineMusicControlInfo | 音乐控制信息(联合体成员) |
| alarmControlInfo | AsrEngineAlarmControlInfo | 闹钟控制信息(联合体成员) |
| motionControlInfo | AsrEngineMotionControlInfo | 运动控制信息(联合体成员) |
| telephoneControlInfo | AsrEngineTelephoneControlInfo | 电话控制信息(联合体成员) |
| timerControlInfo | AsrEngineTimerControlInfo | 计时器控制信息(联合体成员) |
| deviceControlInfo | AsrEngineDeviceControlInfo | 设备控制信息(联合体成员) |
| wakeupKeywordInfo | AsrEngineWakeupKeywordInfo | 唤醒词信息(联合体成员) |
AsrEngineInitParams
typedef struct {
bool enableNpu; /* false: 固定命令词 true:模糊命令词 */
AsrEngineLanguage language;
AsrEngineWorkMode workMode;
AsrEngineListener listener;
} AsrEngineInitParams;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| enableNpu | bool | NPU使能标志,false为固定命令词,true为模糊命令词 |
| language | AsrEngineLanguage | 识别语言 |
| workMode | AsrEngineWorkMode | 引擎工作模式 |
| listener | AsrEngineListener | 事件回调函数 |
Associations
AsrEngineCmdInfo匿名联合体
union {
AsrEngineAppControlInfo appControlInfo;
AsrEngineMusicControlInfo musicControlInfo;
AsrEngineAlarmControlInfo alarmControlInfo;
AsrEngineMotionControlInfo motionControlInfo;
AsrEngineTelephoneControlInfo telephoneControlInfo;
AsrEngineTimerControlInfo timerControlInfo;
AsrEngineDeviceControlInfo deviceControlInfo;
AsrEngineWakeupKeywordInfo wakeupKeywordInfo;
};
| 成员名称 | 类型 | 描述 |
|---|---|---|
| appControlInfo | AsrEngineAppControlInfo | APP控制信息 |
| musicControlInfo | AsrEngineMusicControlInfo | 音乐控制信息 |
| alarmControlInfo | AsrEngineAlarmControlInfo | 闹钟控制信息 |
| motionControlInfo | AsrEngineMotionControlInfo | 运动控制信息 |
| telephoneControlInfo | AsrEngineTelephoneControlInfo | 电话控制信息 |
| timerControlInfo | AsrEngineTimerControlInfo | 计时器控制信息 |
| deviceControlInfo | AsrEngineDeviceControlInfo | 设备控制信息 |
| wakeupKeywordInfo | AsrEngineWakeupKeywordInfo | 唤醒词信息 |
Type definitions
AsrEngineListener
使用说明
ASR引擎事件回调函数类型,用于IntellVoiceAsrEngineInit的initParams参数的listener成员