# @ohos.ai.intelligentVoice (智能语音)(系统接口)
智能语音主要提供了语音注册及语音唤醒相关功能。
该模块提供以下智能语音相关的常用功能:
- [IntelligentVoiceManager](#intelligentvoicemanager):智能语音管理类,明确当前智能语音提供的相关功能,当前支持语音注册、语音唤醒。在进行智能语音相关开发前,需先调用[getIntelligentVoiceManager()](#intelligentvoicegetintelligentvoicemanager)确认当前支持智能语音的相关功能,再进行语音注册和语音唤醒的相关开发。
- [EnrollIntelligentVoiceEngine](#enrollintelligentvoiceengine):实现语音注册。开发者需要先进行智能语音的注册,然后才能进行唤醒。
- [WakeupIntelligentVoiceEngine](#wakeupintelligentvoiceengine):实现语音唤醒。开发者需要先进行智能语音的注册,然后才能进行唤醒。
> **说明:**
>
> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> - 本模块接口为系统接口。
>
> - @ohos.ai.intelligentVoice归属的Kit已由'MindSpore Lite Kit'变更为'Basic Services Kit',请开发者使用新模块名'@kit.BasicServicesKit'完成模块导入。如果使用'@kit.MindSporeLiteKit'导入,将无法使用本模块的接口。
## 导入模块
```ts
import { intelligentVoice } from '@kit.BasicServicesKit';
```
## intelligentVoice.getIntelligentVoiceManager
getIntelligentVoiceManager(): IntelligentVoiceManager
获取智能语音管理类。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------- | ------------ |
| [IntelligentVoiceManager](#intelligentvoicemanager) | 智能语音管理类。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let intelligentVoiceManager: intelligentVoice.IntelligentVoiceManager | null = null;
try {
intelligentVoiceManager = intelligentVoice.getIntelligentVoiceManager();
} catch (err) {
let error = err as BusinessError;
console.error(`Get IntelligentVoiceManager failed. Code:${error.code}, message:${error.message}`);
}
```
## intelligentVoice.getWakeupManager12+
getWakeupManager(): WakeupManager
获取唤醒管理类。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------- | ------------ |
| [WakeupManager](#wakeupmanager12) | 智能语音管理类。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let wakeupManager: intelligentVoice.WakeupManager | null = null;
try {
wakeupManager = intelligentVoice.getWakeupManager();
} catch (err) {
let error = err as BusinessError;
console.error(`Get WakeupManager failed. Code:${error.code}, message:${error.message}`);
}
```
## intelligentVoice.createEnrollIntelligentVoiceEngine
createEnrollIntelligentVoiceEngine(descriptor: EnrollIntelligentVoiceEngineDescriptor, callback: AsyncCallback<EnrollIntelligentVoiceEngine>): void
创建智能语音注册引擎实例,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [EnrollIntelligentVoiceEngineDescriptor](#enrollintelligentvoiceenginedescriptor) | 是 | 智能语音注册引擎描述符。 |
| callback | AsyncCallback\<[EnrollIntelligentVoiceEngine](#enrollintelligentvoiceengine)\> | 是 | 返回注册智能语音引擎。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700101 | No memory. |
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let engineDescriptor: intelligentVoice.EnrollIntelligentVoiceEngineDescriptor = {
wakeupPhrase: '小华小华',
}
let enrollIntelligentVoiceEngine: intelligentVoice.EnrollIntelligentVoiceEngine | null = null;
intelligentVoice.createEnrollIntelligentVoiceEngine(engineDescriptor, (err: BusinessError, data: intelligentVoice.EnrollIntelligentVoiceEngine) => {
if (err) {
console.error(`Failed to create enrollIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in creating enrollIntelligentVoice engine.`);
enrollIntelligentVoiceEngine = data;
}
});
```
## intelligentVoice.createEnrollIntelligentVoiceEngine
createEnrollIntelligentVoiceEngine(descriptor: EnrollIntelligentVoiceEngineDescriptor): Promise<EnrollIntelligentVoiceEngine>
创建智能语音注册引擎实例,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [EnrollIntelligentVoiceEngineDescriptor](#enrollintelligentvoiceenginedescriptor) | 是 | 智能语音注册引擎描述符。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\<[EnrollIntelligentVoiceEngine](#enrollintelligentvoiceengine)\> | 返回注册智能语音引擎。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700101 | No memory. |
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let engineDescriptor: intelligentVoice.EnrollIntelligentVoiceEngineDescriptor = {
wakeupPhrase: '小华小华',
}
let enrollIntelligentVoiceEngine: intelligentVoice.EnrollIntelligentVoiceEngine | null = null;
intelligentVoice.createEnrollIntelligentVoiceEngine(engineDescriptor).then((data: intelligentVoice.EnrollIntelligentVoiceEngine) => {
enrollIntelligentVoiceEngine = data;
console.info(`Succeeded in creating enrollIntelligentVoice engine.`);
}).catch((err: BusinessError) => {
console.error(`Failed to create enrollIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
});
```
## intelligentVoice.createWakeupIntelligentVoiceEngine
createWakeupIntelligentVoiceEngine(descriptor: WakeupIntelligentVoiceEngineDescriptor, callback: AsyncCallback<WakeupIntelligentVoiceEngine>): void
创建智能语音唤醒引擎实例,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [WakeupIntelligentVoiceEngineDescriptor](#wakeupintelligentvoiceenginedescriptor) | 是 | 唤醒智能语音引擎描述符。 |
| callback | AsyncCallback\<[WakeupIntelligentVoiceEngine](#wakeupintelligentvoiceengine)\> | 是 | 返回唤醒智能语音引擎。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700101 | No memory. |
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let wakeupEngineDescriptor: intelligentVoice.WakeupIntelligentVoiceEngineDescriptor = {
needReconfirm: true,
wakeupPhrase: '小华小华',
}
let wakeupIntelligentVoiceEngine: intelligentVoice.WakeupIntelligentVoiceEngine | null = null;
intelligentVoice.createWakeupIntelligentVoiceEngine(wakeupEngineDescriptor, (err: BusinessError, data: intelligentVoice.WakeupIntelligentVoiceEngine) => {
if (err) {
console.error(`Failed to create wakeupIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in creating wakeupIntelligentVoice engine.`);
wakeupIntelligentVoiceEngine = data;
}
});
```
## intelligentVoice.createWakeupIntelligentVoiceEngine
createWakeupIntelligentVoiceEngine(descriptor: WakeupIntelligentVoiceEngineDescriptor): Promise<WakeupIntelligentVoiceEngine>
创建智能语音唤醒引擎实例,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [WakeupIntelligentVoiceEngineDescriptor](#wakeupintelligentvoiceenginedescriptor) | 是 | 唤醒智能语音引擎描述符。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\<[WakeupIntelligentVoiceEngine](#wakeupintelligentvoiceengine)> | 返回唤醒智能语音引擎。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700101 | No memory. |
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let wakeupEngineDescriptor: intelligentVoice.WakeupIntelligentVoiceEngineDescriptor = {
needReconfirm: true,
wakeupPhrase: '小华小华',
}
let wakeupIntelligentVoiceEngine: intelligentVoice.WakeupIntelligentVoiceEngine | null = null;
intelligentVoice.createWakeupIntelligentVoiceEngine(wakeupEngineDescriptor).then((data: intelligentVoice.WakeupIntelligentVoiceEngine) => {
wakeupIntelligentVoiceEngine = data;
console.info(`Succeeded in creating wakeupIntelligentVoice engine.`);
}).catch((err: BusinessError) => {
console.error(`Failed to create wakeupIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
});
```
## IntelligentVoiceManager
智能语音管理类,使用前需要通过[getIntelligentVoiceManager()](#intelligentvoicegetintelligentvoicemanager)获取智能语音管理实例。
### getCapabilityInfo
getCapabilityInfo(): Array<IntelligentVoiceEngineType>
获取支持的智能语音引擎列表信息。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Array\<[IntelligentVoiceEngineType](#intelligentvoiceenginetype)\> | 支持的智能语音引擎类型数组。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
if (intelligentVoiceManager != null) {
let info = intelligentVoiceManager.getCapabilityInfo();
}
```
### on('serviceChange')
on(type: 'serviceChange', callback: Callback<ServiceChangeType>): void
订阅服务变更事件。当智能语音业务状态发生变化时,调用回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type | string | 是 | 系统服务变更事件,固定取值为'serviceChange',表示服务变更事件。 |
| callback | Callback\<[ServiceChangeType](#servicechangetype)\> | 是 | 服务状态变更对应的处理。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
if (intelligentVoiceManager != null) {
intelligentVoiceManager.on('serviceChange', (serviceChangeType: intelligentVoice.ServiceChangeType) => {});
}
```
### off('serviceChange')
off(type: 'serviceChange', callback?: Callback\): void
取消订阅服务变更事件。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type | string | 是 | 系统服务变更事件,固定取值为'serviceChange'。 |
| callback | Callback\<[ServiceChangeType](#servicechangetype)\> | 否 | 服务状态变更对应的处理,无参数,则取消所有订阅,否则,取消对应的处理。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
if (intelligentVoiceManager != null) {
intelligentVoiceManager.off('serviceChange');
}
```
## WakeupManager12+
唤醒管理类,使用前需要通过[getWakeupManager()](#intelligentvoicegetwakeupmanager12)获取唤醒管理实例。
### setParameter12+
setParameter(key: string, value: string): Promise\
设置指定的唤醒参数,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键,对应的是唤醒词的设置,当前仅支持'wakeup_phrase'。 |
| value | string | 是 | 值。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise对象,无返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupManager != null) {
(wakeupManager as intelligentVoice.WakeupManager).setParameter('wakeup_phrase', 'xiaohuaxiaohua').then(() => {
console.info(`Succeeded in setting parameter`);
}).catch((err: BusinessError) => {
console.error(`Failed to set parameter, Code:${err.code}, message:${err.message}`);
});
}
```
### getParameter12+
getParameter(key: string): Promise\
获取指定的智能语音参数,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键,只支持注册信息查询,当前仅支持'isEnrolled'。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise对象,返回是否已经注册,'true'表示注册过,'false'表示未注册过。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupManager != null) {
(wakeupManager as intelligentVoice.WakeupManager).getParameter('isEnrolled').then((data: string) => {
let param: string = data;
console.info(`Succeeded in getting parameter, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to get parameter, Code:${err.code}, message:${err.message}`);
});
}
```
### getUploadFiles12+
getUploadFiles(maxCount: number): Promise<Array<UploadFile>>
获取保存的唤醒词文件,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| maxCount | number | 是 | 获取的文件数量。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<[UploadFile](#uploadfile12)>> | Promise对象,返回获取的文件。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700101 | No memory. |
| 22700102 | Invalid parameter. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupManager != null) {
(wakeupManager as intelligentVoice.WakeupManager).getUploadFiles(2).then((data: Array) => {
let param: Array = data;
console.info(`Succeeded in getting upload files, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to get upload files, Code:${err.code}, message:${err.message}`);
});
}
```
### getWakeupSourceFiles12+
getWakeupSourceFiles(): Promise<Array<WakeupSourceFile>>
获取唤醒资源文件,如注册语料、路径信息等,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<[WakeupSourceFile](#wakeupsourcefile12)>> | Promise对象,返回唤醒资源文件。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupManager != null) {
(wakeupManager as intelligentVoice.WakeupManager).getWakeupSourceFiles().then(
(data: Array) => {
let param: Array = data;
console.info(`Succeeded in getting wakeup source files, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to get wakeup source files, Code:${err.code}, message:${err.message}`);
});
}
```
### enrollWithWakeupFilesForResult12+
enrollWithWakeupFilesForResult(wakeupFiles: Array\, wakeupInfo: string): Promise\
使用唤醒文件注册以获得结果,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| wakeupFiles | Array\<[WakeupSourceFile](#wakeupsourcefile12)\> | 是 | 唤醒资源文件(注册语料、路径信息等)。 |
| wakeupInfo | string | 是 | 唤醒相关信息(源侧设备类型、版本,目标侧设备类型、版本等)。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<[EnrollResult](#enrollresult)> | Promise对象,返回注册结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700101 | No memory. |
| 22700102 | Invalid parameter. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let filesInfo: Array = [];
filesInfo[0] = {filePath: "", fileContent: new ArrayBuffer(100)};
let wakeupInfo: string = "version: 123"
if (wakeupManager != null) {
(wakeupManager as intelligentVoice.WakeupManager).enrollWithWakeupFilesForResult(
filesInfo, wakeupInfo).then(
(data: intelligentVoice.EnrollResult) => {
let param: intelligentVoice.EnrollResult = data;
console.info(`Succeeded in enrolling with wakeup files for result, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to enroll with wakeup files for result, Code:${err.code}, message:${err.message}`);
});
}
```
### clearUserData12+
clearUserData(): Promise<void>
清楚用户数据,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise对象,无返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupManager != null) {
(wakeupManager as intelligentVoice.WakeupManager).clearUserData().then(() => {
console.info(`Succeeded in clearing user data.`);
}).catch((err: BusinessError) => {
console.error(`Failed to clear user data, Code:${err.code}, message:${err.message}`);
});
}
```
## UploadFileType12+
枚举,上传文件类型。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| ENROLL_FILE | 0 | 注册文件。 |
| WAKEUP_FILE | 1 | 唤醒文件。 |
## UploadFile12+
上传文件内容,包含文件类型,文件描述和内容。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| type | [UploadFileType](#uploadfiletype12) | 是 | 文件类型。 |
| filesDescription | string | 是 | 文件描述。 |
| filesContent | Array\ | 是 | 文件内容。 |
## WakeupSourceFile12+
唤醒资源文件。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| filePath | string | 是 | 文件路径。 |
| fileContent | ArrayBuffer | 是 | 文件内容。 |
## EvaluationResultCode12+
枚举,自定义唤醒词返回错误码类型。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| UNKNOWN | 0 | 未知错误。 |
| PASS | 1 | 通过。 |
| WORD_EMPTY | 2 | 字是空的。 |
| CHINESE_ONLY | 3 | 只支持中文。 |
| INVALID_LENGTH | 4 | 无效的长度。 |
| UNUSUAL_WORD | 5 | 不寻常的词。 |
| CONSECUTIVE_SAME_WORD | 6 | 连续相同的字。 |
| TOO_FEW_PHONEMES | 7 | 音素太少。 |
| TOO_MANY_PHONEMES | 8 | 音素太多。 |
| COMMON_INSTRUCTION | 9 | 包含常用指令。 |
| COMMON_SPOKEN_LANGUAGE | 10 | 包含常用口语。 |
| SENSITIVE_WORD | 11 | 包含敏感词。 |
| NO_INITIAL_CONSONANT | 12 | 两个连续的词,没有首辅音。 |
| REPEATED_PHONEME | 13 | 包含重复的音素。 |
## EvaluationResult12+
唤醒词评估结果。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| score | number | 是 | 自定义唤醒词的评估得分,范围在0到5之间。 |
| resultCode | [EvaluationResultCode](#evaluationresultcode12) | 是 | 评估结果错误码。 |
## ServiceChangeType
枚举,服务状态变更类型。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| SERVICE_UNAVAILABLE | 0 | 服务状态不可用。 |
## IntelligentVoiceEngineType
枚举,智能语音引擎类型。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| ENROLL_ENGINE_TYPE | 0 | 语音注册引擎。 |
| WAKEUP_ENGINE_TYPE | 1 | 语音唤醒引擎。 |
| UPDATE_ENGINE_TYPE | 2 | 静默升级引擎。 |
## EnrollIntelligentVoiceEngineDescriptor
注册智能语音引擎描述符。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| wakeupPhrase | string | 是 | 唤醒词。 |
## WakeupIntelligentVoiceEngineDescriptor
唤醒智能语音引擎描述符。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| needReconfirm | boolean | 是 | 是否需要再次确认唤醒结果,true为需要,false为不需要。 |
| wakeupPhrase | string | 是 | 唤醒词。 |
## EnrollEngineConfig
描述注册引擎配置。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| language | string | 是 | 注册引擎支持的语言,当前仅支持中文,取值为'zh'。 |
| region | string | 是 | 注册引擎支持的区域。当前仅支持中国,取值为'CN'。 |
## SensibilityType
枚举,唤醒灵敏度类型。
灵敏度用于调整唤醒的门限,灵敏度越高,门限越低,就越容易唤醒。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| LOW_SENSIBILITY | 1 | 低灵敏度。 |
| MIDDLE_SENSIBILITY | 2 | 中灵敏度。 |
| HIGH_SENSIBILITY | 3 | 高灵敏度。 |
## WakeupHapInfo
描述唤醒应用的hap信息。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| bundleName | string | 是 | 唤醒应用的bundleName。 |
| abilityName | string | 是 | 唤醒应用的ailityName。 |
## WakeupIntelligentVoiceEventType
枚举,唤醒智能语音事件类型。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| INTELLIGENT_VOICE_EVENT_WAKEUP_NONE | 0 | 无唤醒。 |
| INTELLIGENT_VOICE_EVENT_RECOGNIZE_COMPLETE | 1 | 唤醒识别完成。 |
| INTELLIGENT_VOICE_EVENT_HEADSET_RECOGNIZE_COMPLETE | 2 | 耳机唤醒识别完成。 |
## IntelligentVoiceErrorCode
枚举,智能语音错误码。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| INTELLIGENT_VOICE_NO_MEMORY | 22700101 | 内存不足。 |
| INTELLIGENT_VOICE_INVALID_PARAM | 22700102 | 参数无效。 |
| INTELLIGENT_VOICE_INIT_FAILED | 22700103 | 注册失败。 |
| INTELLIGENT_VOICE_COMMIT_ENROLL_FAILED | 22700104 | 确认注册结果失败。 |
| INTELLIGENT_VOICE_START_CAPTURER_FAILED12+ | 22700105 | 启动读流失败。 |
| INTELLIGENT_VOICE_READ_FAILED12+ | 22700106 | 读流失败。 |
| INTELLIGENT_VOICE_SYSTEM_ERROR12+ | 22700107 | 系统错误。 |
## CapturerChannel12+
枚举,枚举捕获器通道。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| CAPTURER_CHANNEL_1 | 0x1 << 0 | 1声道。 |
| CAPTURER_CHANNEL_2 | 0x1 << 1 | 2声道。 |
| CAPTURER_CHANNEL_3 | 0x1 << 2 | 3声道。 |
| CAPTURER_CHANNEL_4 | 0x1 << 3 | 4声道。 |
## EnrollResult
枚举,注册结果。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 值 | 说明 |
| ------------------------- | ---- | ------------ |
| SUCCESS | 0 | 注册成功。 |
| VPR_TRAIN_FAILED | -1 | 声纹训练失败。 |
| WAKEUP_PHRASE_NOT_MATCH | -2 | 唤醒短语不匹配。 |
| TOO_NOISY | -3 | 周边环境太吵。 |
| TOO_LOUD | -4 | 声音太大。 |
| INTERVAL_LARGE | -5 | 唤醒词时间间隔太大。 |
| DIFFERENT_PERSON | -6 | 不同人注册唤醒词。 |
| UNKNOWN_ERROR | -100 | 未知错误。 |
## EnrollCallbackInfo
注册回调信息。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| result | [EnrollResult](#enrollresult) | 是 | 注册结果。 |
| context | string | 是 | 描述注册事件上下文。 |
## WakeupIntelligentVoiceEngineCallbackInfo
描述唤醒智能语音引擎回调信息。
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 名称 | 类型 | 必填 | 说明 |
| ------ | ----------------------------- | -------------- | ---------- |
| eventId | [WakeupIntelligentVoiceEventType](#wakeupintelligentvoiceeventtype) | 是 | 唤醒智能语音事件类型。 |
| isSuccess | boolean | 是 | 是否唤醒成功,false为唤醒失败,true为唤醒成功。 |
| context | string | 是 | 描述唤醒事件上下文。 |
## EnrollIntelligentVoiceEngine
实现注册智能语音引擎,通过[createEnrollIntelligentVoiceEngine()](#intelligentvoicecreateenrollintelligentvoiceengine)获取注册智能语音引擎。
### getSupportedRegions
getSupportedRegions(callback: AsyncCallback<Array<string>>): void
获取支持的区域,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<Array<string>> | 是 | 返回支持区域的数组,当前只支持中国,对应取值为'CN'。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let regions: Array | null = null;
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).getSupportedRegions((err: BusinessError, data: Array) => {
if (err) {
console.error(`Failed to get supported regions, Code:${err.code}, message:${err.message}`);
} else {
regions = data;
console.info(`Succeeded in getting supported regions, regions:${regions}.`);
}
});
}
```
### getSupportedRegions
getSupportedRegions(): Promise<Array<string>>
获取支持的区域,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<string>> | 返回支持区域的数组,当前只支持中国,对应取值为'CN'。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let regions: Array | null = null;
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).getSupportedRegions().then((data: Array) => {
regions = data;
console.info('Succeeded in getting supported regions, regions:${regions}.');
}).catch((err: BusinessError) => {
console.error(`Failed to get supported regions, Code:${err.code}, message:${err.message}`);
});
}
```
### init
init(config: EnrollEngineConfig, callback: AsyncCallback<void>): void
初始化注册智能语音引擎,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| config | [EnrollEngineConfig](#enrollengineconfig) | 是 | 注册引擎配置。 |
| callback |AsyncCallback<void> | 是 | 返回初始化结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
| 22700103 | Init failed. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let config: intelligentVoice.EnrollEngineConfig = {
language: 'zh',
region: 'CN',
}
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).init(config, (err: BusinessError) => {
if (err) {
console.error(`Failed to initialize enrollIntelligentVoice engine. Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in initialzing enrollIntelligentVoice engine.`);
}
});
}
```
### init
init(config: EnrollEngineConfig): Promise<void>
初始化注册智能语音引擎,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| config | [EnrollEngineConfig](#enrollengineconfig) | 是 | config表示注册引擎配置。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
| 22700103 | Init failed. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let config: intelligentVoice.EnrollEngineConfig = {
language: 'zh',
region: 'CN',
}
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).init(config).then(() => {
console.info(`Succeeded in initializing enrollIntelligentVoice engine.`);
}).catch((err: BusinessError) => {
console.error(`Failed to initialize enrollIntelligentVoice engine. Code:${err.code}, message:${err.message}`);
});
}
```
### enrollForResult
enrollForResult(isLast: boolean, callback: AsyncCallback<EnrollCallbackInfo>): void
获取注册结果,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| isLast | boolean | 是 | isLast表示是否为最后一次注册,false为非最后一次,true为最后一次。 |
| callback | AsyncCallback<[EnrollCallbackInfo](#enrollcallbackinfo)> | 是 | 返回注册结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let callbackInfo: intelligentVoice.EnrollCallbackInfo | null = null;
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).enrollForResult(true, (err: BusinessError, data: intelligentVoice.EnrollCallbackInfo) => {
if (err) {
console.error(`Failed to enroll for result, Code:${err.code}, message:${err.message}`);
} else {
callbackInfo = data;
console.info(`Succeeded in enrolling for result, info:${callbackInfo}.`);
}
});
}
```
### enrollForResult
enrollForResult(isLast: boolean): Promise<EnrollCallbackInfo>
获取注册结果,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| isLast | boolean | 是 | isLast表示是否为最后一次注册,false为非最后一次,true为最后一次。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<[EnrollCallbackInfo](#enrollcallbackinfo)> | 返回注册结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let callbackInfo: intelligentVoice.EnrollCallbackInfo | null = null;
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).enrollForResult(true).then((data: intelligentVoice.EnrollCallbackInfo) => {
callbackInfo = data;
console.info(`Succeeded in enrolling for result, info:${callbackInfo}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to enroll for result, Code:${err.code}, message:${err.message}`);
});
}
```
### stop
stop(callback: AsyncCallback<void>): void
停止注册,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<void> | 是 | 返回停止结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).stop((err: BusinessError) => {
if (err) {
console.error(`Failed to stop enrollIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in stopping enrollIntelligentVoice engine.`);
}
});
}
```
### stop
stop(): Promise<void>
停止注册,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).stop().then(() => {
console.info(`Succeeded in stopping enrollIntelligentVoice engine.`);
}).catch((err:BusinessError) => {
console.error(`Failed to stop enrollIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
});
}
```
### commit
commit(callback: AsyncCallback<void>): void
提交注册,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<void> | 是 | 返回确认注册结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700104 | Failed to commit the enrollment. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).commit((err: BusinessError) => {
if (err) {
console.error(`Failed to commit enroll, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in committing enroll.`);
}
});
}
```
### commit
commit(): Promise<void>
提交注册,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700104 | Failed to commit the enrollment. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).commit().then(() => {
console.info(`Succeeded in committing enroll.`);
}).catch((err: BusinessError) => {
console.error(`Failed to commit enroll, Code:${err.code}, message:${err.message}`);
});
}
```
### setWakeupHapInfo
setWakeupHapInfo(info: WakeupHapInfo, callback: AsyncCallback\): void
设置唤醒应用的hap信息,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| info | [WakeupHapInfo](#wakeuphapinfo) | 是 | 唤醒hap信息。 |
| callback | AsyncCallback\ | 是 | 返回设置唤醒hap信息的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let info: intelligentVoice.WakeupHapInfo = {
bundleName: 'com.wakeup',
abilityName: 'WakeUpExtAbility',
}
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).setWakeupHapInfo(info, (err: BusinessError) => {
if (err) {
console.error(`Failed to set wakeup hap info, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in setting wakeup hap info.`);
}
});
}
```
### setWakeupHapInfo
setWakeupHapInfo(info: WakeupHapInfo): Promise\
设置唤醒应用的hap信息,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let info: intelligentVoice.WakeupHapInfo = {
bundleName: 'com.wakeup',
abilityName: 'WakeUpExtAbility',
}
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).setWakeupHapInfo(info).then(() => {
console.info(`Succeeded in setting wakeup hap info.`);
}).catch((err: BusinessError) => {
console.error(`Failed to set wakeup hap info, Code:${err.code}, message:${err.message}`);
});
}
```
### setSensibility
setSensibility(sensibility: SensibilityType, callback: AsyncCallback\): void
设置唤醒灵敏度,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | 是 | 灵敏度类型。 |
| callback | AsyncCallback\ | 是 | 返回设置灵敏度的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).setSensibility(intelligentVoice.SensibilityType.LOW_SENSIBILITY, (err: BusinessError) => {
if (err) {
console.error(`Failed to set sensibility, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in setting sensibility.`);
}
});
}
```
### setSensibility
setSensibility(sensibility: SensibilityType): Promise\
设置唤醒灵敏度,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | 是 | 灵敏度类型。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).setSensibility(intelligentVoice.SensibilityType.LOW_SENSIBILITY).then(() => {
console.info(`Succeeded in setting sensibility.`);
}).catch((err: BusinessError) => {
console.error(`Failed to set sensibility, Code:${err.code}, message:${err.message}`);
});
}
```
### setParameter
setParameter(key: string, value: string, callback: AsyncCallback\): void
设置指定的智能语音参数,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
| value | string | 是 | 值。 |
| callback | AsyncCallback\ | 是 | 返回设置智能语音参数的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).setParameter('scene', '0', (err: BusinessError) => {
if (err) {
console.error(`Failed to set parameter, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in setting parameter`);
}
});
}
```
### setParameter
setParameter(key: string, value: string): Promise\
设置指定的智能语音参数,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
| value | string | 是 | 值。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).setParameter('scene', '0').then(() => {
console.info(`Succeeded in setting parameter`);
}).catch((err: BusinessError) => {
console.error(`Failed to set parameter, Code:${err.code}, message:${err.message}`);
});
}
```
### getParameter
getParameter(key: string, callback: AsyncCallback\): void
获取指定的智能语音参数,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
| callback | AsyncCallback\ | 是 | 返回智能语音参数。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).getParameter('key', (err: BusinessError, data: string) => {
if (err) {
console.error(`Failed to get parameter, Code:${err.code}, message:${err.message}`);
} else {
let param: string = data;
console.info(`Succeeded in getting parameter, param:${param}`);
}
});
}
```
### getParameter
getParameter(key: string): Promise\
获取指定的智能语音参数,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | 返回智能语音参数。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).getParameter('key').then((data: string) => {
let param: string = data;
console.info(`Succeeded in getting parameter, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to get parameter, Code:${err.code}, message:${err.message}`);
});
}
```
### evaluateForResult12+
evaluateForResult(word: string): Promise\
评估自定义唤醒词是否可用,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| word | string | 是 | 自定义唤醒词。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<[EvaluationResult](#evaluationresult12)> | Promise对象,返回评估结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).evaluateForResult('word').then(
(data: intelligentVoice.EvaluationResult) => {
let param: intelligentVoice.EvaluationResult = data;
console.info(`Succeeded in evaluating, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to evaluate, Code:${err.code}, message:${err.message}`);
});
}
```
### release
release(callback: AsyncCallback<void>): void
释放注册智能语音引擎,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback\ | 是 | 返回释放注册引擎的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).release((err: BusinessError) => {
if (err) {
console.error(`Failed to release enrollIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in releasing enrollIntelligentVoice engine.`);
}
});
}
```
### release
release(): Promise<void>
释放注册智能语音引擎,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (enrollIntelligentVoiceEngine != null) {
(enrollIntelligentVoiceEngine as intelligentVoice.EnrollIntelligentVoiceEngine).release().then(() => {
console.info(`Succeeded in releasing enrollIntelligentVoice engine.`);
}).catch((err: BusinessError) => {
console.error(`Failed to release enrollIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
});
}
```
## WakeupIntelligentVoiceEngine
实现唤醒智能语音引擎,通过[createWakeupIntelligentVoiceEngine()](#intelligentvoicecreatewakeupintelligentvoiceengine)获取唤醒智能语音引擎。
### getSupportedRegions
getSupportedRegions(callback: AsyncCallback<Array<string>>): void
获取支持的区域,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<Array<string>> | 是 | 返回支持区域的数组,当前只支持中国,对应取值为'CN'。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).getSupportedRegions((err: BusinessError, data: Array) => {
if (err) {
console.error(`Failed to get supported regions, Code:${err.code}, message:${err.message}`);
} else {
let regions: Array = data;
console.info(`Succeeded in getting supported regions, regions:${regions}.`);
}
});
}
```
### getSupportedRegions
getSupportedRegions(): Promise<Array<string>>
获取支持的区域,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<string>> | 返回支持区域的数组,当前只支持中国,对应取值为'CN'。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).getSupportedRegions().then((data: Array) => {
let regions: Array = data;
console.info(`Succeeded in getting supported regions, regions:${regions}.`);
}).catch((err: BusinessError) => {
console.error(`Failed to get supported regions, Code:${err.code}, message:${err.message}`);
});
}
```
### setWakeupHapInfo
setWakeupHapInfo(info: WakeupHapInfo, callback: AsyncCallback\): void
设置唤醒应用的hap信息,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| info | [WakeupHapInfo](#wakeuphapinfo) | 是 | 唤醒hap信息。 |
| callback | AsyncCallback\ | 是 | 返回设置唤醒hap信息的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let hapInfo: intelligentVoice.WakeupHapInfo = {
bundleName: 'com.wakeup',
abilityName: 'WakeUpExtAbility',
}
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).setWakeupHapInfo(hapInfo, (err: BusinessError) => {
if (err) {
console.error(`Failed to set wakeup hap info, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in setting wakeup hap info.`);
}
});
}
```
### setWakeupHapInfo
setWakeupHapInfo(info: WakeupHapInfo): Promise\
设置唤醒应用的hap信息,使用promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| info | [WakeupHapInfo](#wakeuphapinfo) | 是 | 唤醒hap信息。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let hapInfo: intelligentVoice.WakeupHapInfo = {
bundleName: 'com.wakeup',
abilityName: 'WakeUpExtAbility',
}
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).setWakeupHapInfo(hapInfo).then(() => {
console.info(`Succeeded in setting wakeup hap info.`);
}).catch((err: BusinessError) => {
console.error(`Failed to set wakeup hap info, Code:${err.code}, message:${err.message}`);
});
}
```
### setSensibility
setSensibility(sensibility: SensibilityType, callback: AsyncCallback\): void
设置唤醒灵敏度,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | 是 | 灵敏度类型。 |
| callback | AsyncCallback\ | 是 | 返回设置灵敏度的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).setSensibility(intelligentVoice.SensibilityType.LOW_SENSIBILITY, (err: BusinessError) => {
if (err) {
console.error(`Failed to set sensibility, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in setting sensibility.`);
}
});
}
```
### setSensibility
setSensibility(sensibility: SensibilityType): Promise\
设置唤醒灵敏度,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | 是 | 灵敏度类型。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).setSensibility(intelligentVoice.SensibilityType.LOW_SENSIBILITY).then(() => {
console.info(`Succeeded in setting sensibility.`);
}).catch((err: BusinessError) => {
console.error(`Failed to set sensibility, Code:${err.code}, message:${err.message}`);
});
}
```
### setParameter
setParameter(key: string, value: string, callback: AsyncCallback\): void
设置指定的智能语音参数,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
| value | string | 是 | 值。 |
| callback | AsyncCallback\ | 是 | 返回设置智能语音参数的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).setParameter('scene', '0', (err: BusinessError) => {
if (err) {
console.error(`Failed to set parameter, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in setting parameter`);
}
});
}
```
### setParameter
setParameter(key: string, value: string): Promise\
设置指定的智能语音参数,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
| value | string | 是 | 值。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).setParameter('scene', '0').then(() => {
console.info(`Succeeded in setting parameter`);
}).catch((err: BusinessError) => {
console.error(`Failed to set parameter, Code:${err.code}, message:${err.message}`);
});
}
```
### getParameter
getParameter(key: string, callback: AsyncCallback\): void
获取指定的智能语音参数,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
| callback | AsyncCallback\ | 是 | 返回智能语音参数。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).getParameter('key', (err: BusinessError, data: string) => {
if (err) {
console.error(`Failed to get parameter, Code:${err.code}, message:${err.message}`);
} else {
let param: string = data;
console.info(`Succeeded in getting parameter, param:${param}`);
}
});
}
```
### getParameter
getParameter(key: string): Promise\
获取指定的智能语音参数,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | 是 | 键。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | 返回智能语音参数。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).getParameter('key').then((data: string) => {
let param: string = data;
console.info(`Succeeded in getting parameter, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to get parameter, Code:${err.code}, message:${err.message}`);
});
}
```
### getPcm12+
getPcm(): Promise\
获取脉冲编码调制音频,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise对象,返回脉冲编码调制音频。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).getPcm().then((data: ArrayBuffer) => {
let param: ArrayBuffer = data;
console.info(`Succeeded in getting pcm, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to get pcm, Code:${err.code}, message:${err.message}`);
});
}
```
### startCapturer12+
startCapturer(channels: number): Promise\
启动捕获器,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| channels | number | 是 | 声道数。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise对象,无返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
| 22700102 | Invalid parameter. |
| 22700105 | Start capturer failed. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).startCapturer(1).then(() => {
console.info(`Succeeded in starting capturer`);
}).catch((err: BusinessError) => {
console.error(`Failed to start capturer, Code:${err.code}, message:${err.message}`);
});
}
```
### read12+
read(): Promise\
读取数据,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise对象,返回音频数据结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700106 | Read failed. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).read().then((data: ArrayBuffer) => {
let param: ArrayBuffer = data;
console.info(`Succeeded in reading data, param:${param}`);
}).catch((err: BusinessError) => {
console.error(`Failed to read data, Code:${err.code}, message:${err.message}`);
});
}
```
### stopCapturer12+
stopCapturer(): Promise\
停止捕获器,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise对象,无返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[智能语音错误码](errorcode-intelligentVoice.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700107 | System error. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).stopCapturer().then(() => {
console.info(`Succeeded in stopping capturer`);
}).catch((err: BusinessError) => {
console.error(`Failed to stop capturer, Code:${err.code}, message:${err.message}`);
});
}
```
### release
release(callback: AsyncCallback\): void
释放唤醒智能语音引擎,使用callback异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback\ | 是 | 返回释放唤醒引擎的结果。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).release((err: BusinessError) => {
if (err) {
console.error(`Failed to release wakeupIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
} else {
console.info(`Succeeded in releasing wakeupIntelligentVoice engine.`);
}
});
}
```
### release
release(): Promise\
释放唤醒智能语音引擎,使用Promise异步回调。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).release().then(() => {
console.info(`Succeeded in releasing wakeupIntelligentVoice engine.`);
}).catch((err: BusinessError) => {
console.error(`Failed to release wakeupIntelligentVoice engine, Code:${err.code}, message:${err.message}`);
});
}
```
### on
on(type: 'wakeupIntelligentVoiceEvent', callback: Callback\): void
订阅唤醒事件。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type | string | 是 | 唤醒智能语音事件,固定取为'wakeupIntelligentVoiceEvent',表示智能语音唤醒事件。 |
| callback | Callback\<[WakeupIntelligentVoiceEngineCallbackInfo](#wakeupintelligentvoiceenginecallbackinfo)\> | 是 | 收到唤醒事件的对应处理。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).on('wakeupIntelligentVoiceEvent',
(info: intelligentVoice.WakeupIntelligentVoiceEngineCallbackInfo) => {
let callbackInfo: intelligentVoice.WakeupIntelligentVoiceEngineCallbackInfo = info;
console.info(`wakeup intelligentvoice event, info:${callbackInfo}`);
});
}
```
### off
off(type: 'wakeupIntelligentVoiceEvent', callback?: Callback\): void;
取消订阅唤醒事件。
**需要权限:** ohos.permission.MANAGE_INTELLIGENT_VOICE
**系统能力:** SystemCapability.AI.IntelligentVoice.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type |string | 是 | 唤醒智能语音事件,固定取为'wakeupIntelligentVoiceEvent'。 |
| callback | Callback\<[WakeupIntelligentVoiceEngineCallbackInfo](#wakeupintelligentvoiceenginecallbackinfo)\> | 否 | 收到唤醒事件的对应处理。无参数,则取消所有的订阅,否则,取消对应的订阅 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**示例:**
```ts
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).off('wakeupIntelligentVoiceEvent');
}
```