# @ohos.ai.intelligentVoice (Intelligent Voice) (System API)
The **intelligentVoice** module provides the intelligent voice enrollment and voice wakeup functions.
Its functions are implemented by:
- [IntelligentVoiceManager](#intelligentvoicemanager): intelligent voice manager class, which declares the functions provided by the module. Currently, voice enrollment and voice wakeup are supported. Before developing intelligent voice functions, call [getIntelligentVoiceManager()](#intelligentvoicegetintelligentvoicemanager) to check whether they are supported.
- [EnrollIntelligentVoiceEngine](#enrollintelligentvoiceengine): class that implements voice enrollment. You need to perform voice enrollment before using voice wakeup.
- [WakeupIntelligentVoiceEngine](#wakeupintelligentvoiceengine): class that implements voice wakeup. You need to perform voice enrollment before using voice wakeup.
> **NOTE**
>
> - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
>
> - The APIs provided by this module are system APIs.
>
> - The kit to which **@ohos.ai.intelligentVoice** belongs has been changed from MindSpore Lite Kit to Basic Services Kit. You need to use the new module name **@kit.BasicServicesKit** when importing the module. Otherwise, the APIs of this module cannot be used.
## Modules to Import
```ts
import { intelligentVoice } from '@kit.BasicServicesKit';
```
## intelligentVoice.getIntelligentVoiceManager
getIntelligentVoiceManager(): IntelligentVoiceManager
Obtains an instance of the intelligent voice manager.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------- | ------------ |
| [IntelligentVoiceManager](#intelligentvoicemanager)| Instance of the intelligent voice manager.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
**Example**
```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
Obtains an instance of the **WakeupManager** class.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------- | ------------ |
| [WakeupManager](#wakeupmanager12) | Instance of the intelligent voice manager.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700107 | System error. |
**Example**
```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
Creates an instance of the intelligent voice enrollment engine. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [EnrollIntelligentVoiceEngineDescriptor](#enrollintelligentvoiceenginedescriptor) | Yes | Descriptor of the intelligent voice enrollment engine. |
| callback | AsyncCallback\<[EnrollIntelligentVoiceEngine](#enrollintelligentvoiceengine)\> | Yes | Callback used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let engineDescriptor: intelligentVoice.EnrollIntelligentVoiceEngineDescriptor = {
wakeupPhrase: 'Xiaohua Xiaohua',
}
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>
Creates an instance of the intelligent voice enrollment engine. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [EnrollIntelligentVoiceEngineDescriptor](#enrollintelligentvoiceenginedescriptor) | Yes | Descriptor of the intelligent voice enrollment engine. |
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\<[EnrollIntelligentVoiceEngine](#enrollintelligentvoiceengine)\> | Callback used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let engineDescriptor: intelligentVoice.EnrollIntelligentVoiceEngineDescriptor = {
wakeupPhrase: 'Xiaohua Xiaohua',
}
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
Creates an instance of the intelligent voice wakeup engine. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [WakeupIntelligentVoiceEngineDescriptor](#wakeupintelligentvoiceenginedescriptor) | Yes | Descriptor of the intelligent voice wakeup engine. |
| callback | AsyncCallback\<[WakeupIntelligentVoiceEngine](#wakeupintelligentvoiceengine)\> | Yes | Callback used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let wakeupEngineDescriptor: intelligentVoice.WakeupIntelligentVoiceEngineDescriptor = {
needReconfirm: true,
wakeupPhrase: 'Xiaohua Xiaohua',
}
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>
Creates an instance of the intelligent voice wakeup engine. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ----------------------------------- | ---- | ---------------------- |
| descriptor | [WakeupIntelligentVoiceEngineDescriptor](#wakeupintelligentvoiceenginedescriptor) | Yes | Descriptor of the intelligent voice wakeup engine. |
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\<[WakeupIntelligentVoiceEngine](#wakeupintelligentvoiceengine)> | Callback used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let wakeupEngineDescriptor: intelligentVoice.WakeupIntelligentVoiceEngineDescriptor = {
needReconfirm: true,
wakeupPhrase: 'Xiaohua Xiaohua',
}
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
Class that implements intelligent voice management. Before use, you need to call [getIntelligentVoiceManager()](#intelligentvoicegetintelligentvoicemanager) to obtain an **IntelligentVoiceManager** object.
### getCapabilityInfo
getCapabilityInfo(): Array<IntelligentVoiceEngineType>
Obtains the list of supported intelligent voice engine types.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Array\<[IntelligentVoiceEngineType](#intelligentvoiceenginetype)\> | Array of supported intelligent voice engine types. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```ts
if (intelligentVoiceManager != null) {
let info = intelligentVoiceManager.getCapabilityInfo();
}
```
### on('serviceChange')
on(type: 'serviceChange', callback: Callback<ServiceChangeType>): void
Subscribes to service change events. A callback is invoked when the status of the intelligent voice service changes.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type | string | Yes | Event type. This field has a fixed value of **serviceChange**.|
| callback | Callback\<[ServiceChangeType](#servicechangetype)\> | Yes | Callback for the service status change.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```ts
if (intelligentVoiceManager != null) {
intelligentVoiceManager.on('serviceChange', (serviceChangeType: intelligentVoice.ServiceChangeType) => {});
}
```
### off('serviceChange')
off(type: 'serviceChange', callback?: Callback\): void
Unsubscribes from service change events.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type | string | Yes | Event type. This field has a fixed value of **serviceChange**.|
| callback | Callback\<[ServiceChangeType](#servicechangetype)\> | No | Callback for processing of the service status change event. If this parameter is specified, only the specified callback will be unsubscribed. Otherwise, all callbacks will be unsubscribed. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```ts
if (intelligentVoiceManager != null) {
intelligentVoiceManager.off('serviceChange');
}
```
## WakeupManager12+
Represents the **WakeupManager** class. Before using this class, you need to obtain an instance by calling [getWakeupManager()](#intelligentvoicegetwakeupmanager12).
### setParameter12+
setParameter(key: string, value: string): Promise\
Sets the specified wakeup parameter. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key, which corresponds to the wakeup keyword. Currently, only **wakeup_phrase** is supported.|
| value | string | Yes | Value.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Obtains specified intelligent voice parameters. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key, which corresponds to the registration information. Currently, only **isEnrolled** is supported.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise used to return the result. The value **true** indicates registered, and the value **false** indicates the opposite. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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>>
Obtain the saved wakeup keyword files. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| maxCount | number | Yes | Number of obtained files.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<[UploadFile](#uploadfile12)>> | Promise used to return the obtained files. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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>>
Obtains wakeup resource files, such as registration corpus and path. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<[WakeupSourceFile](#wakeupsourcefile12)>> | Promise used to return the wakeup resource file. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700107 | System error. |
**Example**
```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\
Registers with wakeup resource files to obtain wakeup word evaluation results. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| wakeupFiles | Array\<[WakeupSourceFile](#wakeupsourcefile12)\> | Yes | Wakeup resource files.|
| wakeupInfo | string | Yes | Wakeup information, including the type and version of the source and target devices.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<[EnrollResult](#enrollresult)> | Promise used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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>
Clears user data. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700107 | System error. |
**Example**
```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+
Enumerates upload file types.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| ENROLL_FILE | 0 | Registration file. |
| WAKEUP_FILE | 1 | Wakeup file. |
## UploadFile12+
Defines an upload file, including the file type, file description, and content.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| type | [UploadFileType](#uploadfiletype12) | Yes | File type.|
| filesDescription | string | Yes | File description.|
| filesContent | Array\ | Yes | File content.|
## WakeupSourceFile12+
Defines a wakeup resource file.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| filePath | string | Yes | File path.|
| fileContent | ArrayBuffer | Yes | File content.|
## EvaluationResultCode12+
Enumerates result codes for custom wakeup keywords.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| UNKNOWN | 0 | Unknown error. |
| PASS | 1 | Passed. |
| WORD_EMPTY | 2 | Empty word. |
| CHINESE_ONLY | 3 | Chinese only. |
| INVALID_LENGTH | 4 | Invalid length. |
| UNUSUAL_WORD | 5 | Unusual word. |
| CONSECUTIVE_SAME_WORD | 6 | Consecutive same words. |
| TOO_FEW_PHONEMES | 7 | Too few phonemes. |
| TOO_MANY_PHONEMES | 8 | Too many phonemes. |
| COMMON_INSTRUCTION | 9 | Common instructions included. |
| COMMON_SPOKEN_LANGUAGE | 10 | Common spoken language included. |
| SENSITIVE_WORD | 11 | Sensitive words included. |
| NO_INITIAL_CONSONANT | 12 | Two consecutive words without initial consonants. |
| REPEATED_PHONEME | 13 | Duplicate phonemes included. |
## EvaluationResult12+
Defines the wakeup word evaluation result.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| score | number | Yes | Evaluation score of a custom wakeup keyword. The value ranges from 0 to 5.|
| resultCode | [EvaluationResultCode](#evaluationresultcode12) | Yes | Evaluation result code.|
## ServiceChangeType
Enumerates service status change types.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| SERVICE_UNAVAILABLE | 0 | The service is unavailable. |
## IntelligentVoiceEngineType
Enumerates intelligent voice engine types.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| ENROLL_ENGINE_TYPE | 0 | Voice enrollment engine. |
| WAKEUP_ENGINE_TYPE | 1 | Voice wakeup engine. |
| UPDATE_ENGINE_TYPE | 2 | Silent update engine. |
## EnrollIntelligentVoiceEngineDescriptor
Defines the descriptor of an intelligent voice enrollment engine.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| wakeupPhrase | string | Yes | Wakeup phrase.|
## WakeupIntelligentVoiceEngineDescriptor
Defines the descriptor of an intelligent voice wakeup engine.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| needReconfirm | boolean | Yes | Whether re-confirmation of the wakeup result is needed. The value **true** indicates that re-confirmation is needed, and the value **false** indicates the opposite.|
| wakeupPhrase | string | Yes | Wakeup phrase.|
## EnrollEngineConfig
Defines the enrollment engine configuration.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| language | string | Yes | Language supported by the enrollment engine. Only Chinese is supported currently, and the value is **zh**.|
| region | string | Yes | Country/region supported by the enrollment engine. Only China is supported currently, and the value is **CN**.|
## SensibilityType
Enumerates wakeup sensibility types.
A sensibility type maps to a wakeup threshold. A higher sensibility indicates a lower threshold and a higher wakeup probability.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| LOW_SENSIBILITY | 1 | Low sensibility. |
| MIDDLE_SENSIBILITY | 2 | Medium sensibility. |
| HIGH_SENSIBILITY | 3 | High sensibility. |
## WakeupHapInfo
Defines the HAP information for an wakeup application.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| bundleName | string | Yes | Bundle name of the wakeup application.|
| abilityName | string | Yes | Ability name of the wakeup application.|
## WakeupIntelligentVoiceEventType
Enumerates types of intelligent voice wakeup events.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| INTELLIGENT_VOICE_EVENT_WAKEUP_NONE | 0 | No wakeup. |
| INTELLIGENT_VOICE_EVENT_RECOGNIZE_COMPLETE | 1 | Wakeup recognition completed. |
| INTELLIGENT_VOICE_EVENT_HEADSET_RECOGNIZE_COMPLETE | 2 | Headset wakeup recognition completed. |
## IntelligentVoiceErrorCode
Enumerates error codes of intelligent voice wakeup.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| INTELLIGENT_VOICE_NO_MEMORY | 22700101 | Insufficient memory. |
| INTELLIGENT_VOICE_INVALID_PARAM | 22700102 | Invalid parameter. |
| INTELLIGENT_VOICE_INIT_FAILED | 22700103 | Enrollment failed. |
| INTELLIGENT_VOICE_COMMIT_ENROLL_FAILED | 22700104 | Enrollment commit failed. |
| INTELLIGENT_VOICE_START_CAPTURER_FAILED12+ | 22700105 | Failed to start reading streams. |
| INTELLIGENT_VOICE_READ_FAILED12+ | 22700106 | Failed to read streams. |
| INTELLIGENT_VOICE_SYSTEM_ERROR12+ | 22700107 | System error. |
## CapturerChannel12+
Enumerates capturer channels.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| CAPTURER_CHANNEL_1 | 0x1 << 0 | Audio channel 1. |
| CAPTURER_CHANNEL_2 | 0x1 << 1 | Audio channel 2. |
| CAPTURER_CHANNEL_3 | 0x1 << 2 | Audio channel 3. |
| CAPTURER_CHANNEL_4 | 0x1 << 3 | Audio channel 4. |
## EnrollResult
Enumerates enrollment results.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Value | Description |
| ------------------------- | ---- | ------------ |
| SUCCESS | 0 | Enrollment succeeded. |
| VPR_TRAIN_FAILED | -1 | Voiceprint training failed. |
| WAKEUP_PHRASE_NOT_MATCH | -2 | Wakeup phrase mismatched. |
| TOO_NOISY | -3 | Environment too noisy. |
| TOO_LOUD | -4 | Voice too loud. |
| INTERVAL_LARGE | -5 | Interval between wakeup phrases too long. |
| DIFFERENT_PERSON | -6 | Wakeup phrases enrolled by different persons. |
| UNKNOWN_ERROR | -100 | Unknown error. |
## EnrollCallbackInfo
Defines the enrollment callback information.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| result | [EnrollResult](#enrollresult) | Yes | Enrollment result.|
| context | string | Yes | Context of the enrollment event.|
## WakeupIntelligentVoiceEngineCallbackInfo
Defines the callback information for the intelligent voice wakeup engine.
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory | Description |
| ------ | ----------------------------- | -------------- | ---------- |
| eventId | [WakeupIntelligentVoiceEventType](#wakeupintelligentvoiceeventtype) | Yes | Event type of the intelligent voice wakeup engine.|
| isSuccess | boolean | Yes | Wakeup result. The value **true** indicates that the wakeup is successful, and the value **false** indicates the opposite.|
| context | string | Yes | Context of the wakeup event.|
## EnrollIntelligentVoiceEngine
Class that implements the intelligent voice enrollment engine. Before use, you need to call [createEnrollIntelligentVoiceEngine()](#intelligentvoicecreateenrollintelligentvoiceengine) to obtain an instance of the intelligent voice enrollment engine.
### getSupportedRegions
getSupportedRegions(callback: AsyncCallback<Array<string>>): void
Obtains the list of supported countries/regions. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the result, which is an array of supported countries/regions. Only China is supported currently, and the value is **CN**.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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>>
Obtains the list of supported countries/regions. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<string>> | Promise used to return the result, which is an array of supported countries/regions. Only China is supported currently, and the value is **CN**. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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
Initializes the intelligent voice enrollment engine. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| config | [EnrollEngineConfig](#enrollengineconfig) | Yes | Configuration of the intelligent voice enrollment engine.|
| callback |AsyncCallback<void> | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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>
Initializes the intelligent voice enrollment engine. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| config | [EnrollEngineConfig](#enrollengineconfig) | Yes | Configuration of the intelligent voice enrollment engine.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Obtains the enrollment result. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| isLast | boolean | Yes | Whether this is the last enrollment. The value **true** indicates the last enrollment, and the value **false** indicates the opposite.|
| callback | AsyncCallback<[EnrollCallbackInfo](#enrollcallbackinfo)> | Yes | Callback used to return the result.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
**Example**
```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>
Obtains the enrollment result. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| isLast | boolean | Yes | Whether this is the last enrollment. The value **true** indicates the last enrollment, and the value **false** indicates the opposite.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<[EnrollCallbackInfo](#enrollcallbackinfo)> | Promise used to return the result. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.|
**Example**
```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
Stops the enrollment. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<void> | Yes | Callback used to return the result.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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>
Stops the enrollment. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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
Commits the enrollment. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<void> | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700104 | Failed to commit the enrollment. |
**Example**
```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>
Commits the enrollment. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700104 | Failed to commit the enrollment. |
**Example**
```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
Sets the HAP information for the wakeup application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| info | [WakeupHapInfo](#wakeuphapinfo) | Yes | HAP information for the wakeup application.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Sets the HAP information for the wakeup application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Sets the wakeup sensibility. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | Yes | Sensibility type.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Sets the wakeup sensibility. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | Yes | Sensibility type.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Sets specified intelligent voice parameters. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
| value | string | Yes | Value.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Sets specified intelligent voice parameters. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
| value | string | Yes | Value.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Obtains specified intelligent voice parameters. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Obtains specified intelligent voice parameters. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Evaluates whether a custom wakeup keyword is effective. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| word | string | Yes | Custom wakeup keyword.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<[EvaluationResult](#evaluationresult12)> | Promise used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Releases the intelligent voice enrollment engine. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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>
Releases the intelligent voice enrollment engine. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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
Class that implements the intelligent voice wakeup engine. Before use, you need to call [createWakeupIntelligentVoiceEngine()](#intelligentvoicecreatewakeupintelligentvoiceengine) to obtain an instance of the intelligent voice wakeup engine.
### getSupportedRegions
getSupportedRegions(callback: AsyncCallback<Array<string>>): void
Obtains the list of supported countries/regions. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback<Array<string>> | Yes | Callback used to return the result, which is an array of supported countries/regions. Only China is supported currently, and the value is **CN**.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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>>
Obtains the list of supported countries/regions. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<Array<string>> | Promise used to return the result, which is an array of supported countries/regions. Only China is supported currently, and the value is **CN**. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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
Sets the HAP information for the wakeup application. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| info | [WakeupHapInfo](#wakeuphapinfo) | Yes | HAP information for the wakeup application.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Sets the HAP information for the wakeup application. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| info | [WakeupHapInfo](#wakeuphapinfo) | Yes | HAP information for the wakeup application.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Sets the wakeup sensibility. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | Yes | Sensibility type.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Sets the wakeup sensibility. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| sensibility | [SensibilityType](#sensibilitytype) | Yes | Sensibility type.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Sets specified intelligent voice parameters. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
| value | string | Yes | Value.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Sets specified intelligent voice parameters. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
| value | string | Yes | Value.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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
Obtains specified intelligent voice parameters. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Obtains specified intelligent voice parameters. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| key | string | Yes | Key.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Obtains the Pulse Code Modulation (PCM) of audio signals. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700107 | System error. |
**Example**
```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\
Starts the capturer. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| channels | number | Yes | Number of audio channels.|
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 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. |
**Example**
```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\
Reads audio data. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise used to return the result. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700101 | No memory. |
| 22700106 | Read failed. |
| 22700107 | System error. |
**Example**
```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\
Stops the capturer. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise\ | Promise that returns no value. |
**Error codes**
For details about the following error codes, see [Universal Error Codes](../errorcode-universal.md) and [Intelligent Voice Error Codes](errorcode-intelligentVoice.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
| 22700107 | System error. |
**Example**
```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
Releases the intelligent voice wakeup engine. This API uses an asynchronous callback to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| callback | AsyncCallback\ | Yes | Callback used to return the result.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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\
Releases the intelligent voice wakeup engine. This API uses a promise to return the result.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Return value**
| Type | Description |
| ----------------------------------------------- | ---------------------------- |
| Promise<void> | Promise that returns no value. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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
Subscribes to wakeup events.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type | string | Yes | Event type. This field has a fixed value of **wakeupIntelligentVoiceEvent**.|
| callback | Callback\<[WakeupIntelligentVoiceEngineCallbackInfo](#wakeupintelligentvoiceenginecallbackinfo)\> | Yes | Callback for processing of the wakeup event.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```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;
Unsubscribes from wakeup events.
**Required permissions**: ohos.permission.MANAGE_INTELLIGENT_VOICE
**System capability**: SystemCapability.AI.IntelligentVoice.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | -------------------------------- | --- | ------------------------------------------- |
| type |string | Yes | Event type. This field has a fixed value of **wakeupIntelligentVoiceEvent**.|
| callback | Callback\<[WakeupIntelligentVoiceEngineCallbackInfo](#wakeupintelligentvoiceenginecallbackinfo)\> | No | Callback for processing of the wakeup event. If this parameter is specified, only the specified callback will be unsubscribed. Otherwise, all callbacks will be unsubscribed. |
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| ------- | --------------------------------------------|
| 201 | Permission denied. |
| 202 | Not system application. |
**Example**
```ts
if (wakeupIntelligentVoiceEngine != null) {
(wakeupIntelligentVoiceEngine as intelligentVoice.WakeupIntelligentVoiceEngine).off('wakeupIntelligentVoiceEvent');
}
```