# @ohos.multimedia.audioHaptic (Audio-Haptic) (System API)
Audio-haptic enables users to get rhythmic auditory and haptic feedback while having incoming calls or messages.
> **NOTE**
>
> The initial APIs of this module are supported since API version 11. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Module to Import
```ts
import { audioHaptic } from '@kit.AudioKit';
```
## AudioHapticPlayer
Implements audio-haptic playback. Before calling any API in AudioHapticPlayer, you must use [createPlayer](./js-apis-audioHaptic.md#createplayer) to create an AudioHapticPlayer instance.
### isHapticsIntensityAdjustmentSupported20+
isHapticsIntensityAdjustmentSupported(): boolean
Checks whether the device supports adjusting the intensity of haptic feedback.
**System API**: This is a system API.
**System capability**: SystemCapability.Multimedia.AudioHaptic.Core
**Return value**
| Type | Description |
| ------------------- | ------------------------------- |
| boolean | Check result. The value **true** is returned if the device supports intensity adjustment, and **false** is returned otherwise.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| Error Code | Error Message |
|---------|-----------------------------------|
| 202 | Caller is not a system application. |
**Example**
```ts
const result: boolean = audioHapticPlayerInstance.isHapticsIntensityAdjustmentSupported();
```
### isHapticsRampSupported20+
isHapticsRampSupported(): boolean
Checks whether the device supports gradually adjusting the intensity of haptic feedback, also known as haptic ramping.
**System API**: This is a system API.
**System capability**: SystemCapability.Multimedia.AudioHaptic.Core
**Return value**
| Type | Description |
| ------------------- | ------------------------------- |
| boolean | Check result. The value **true** is returned if the device supports haptic ramping, and **false** is returned otherwise.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| Error Code | Error Message |
|---------|-----------------------------------|
| 202 | Caller is not a system application. |
**Example**
```ts
const result: boolean = audioHapticPlayerInstance.isHapticsRampSupported();
```
### enableHapticsInSilentMode20+
enableHapticsInSilentMode(enable: boolean): void
Enables the audio-haptic player to provide haptic feedback even when the device is in silent mode.
> **NOTE**
>
> This API must be called before the audio-haptic player is released. It cannot be called during playback.
**System API**: This is a system API.
**System capability**: SystemCapability.Multimedia.AudioHaptic.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ---------------------------------------- | ---- | ------------------------ |
| enable | boolean | Yes | Whether to enable haptic feedback in silent mode. The value **true** means to enable haptic feedback in silent mode, and **false** means the opposite.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Media Error Codes](../apis-media-kit/errorcode-media.md).
| Error Code | Error Message |
|---------|-----------------------------------|
| 202 | Caller is not a system application. |
| 5400102 | Operate not permit in current state. |
**Example**
```ts
audioHapticPlayerInstance.enableHapticsInSilentMode(true);
```
### setHapticsIntensity20+
setHapticsIntensity(intensity: number): Promise<void>
Sets the intensity of haptic feedback for this audio-haptic player. This API uses a promise to return the result.
> **NOTE**
>
>This API must be called before the audio-haptic player is released. It can be called only once during a single playback.
**System API**: This is a system API.
**System capability**: SystemCapability.Multimedia.AudioHaptic.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ---------------------------------------- | ---- | ------------------------ |
| intensity | number | Yes | Intensity, in the range [0.00, 1.00], where 1.00 indicates the maximum intensity (100%).|
**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) and [Media Error Codes](../apis-media-kit/errorcode-media.md).
| Error Code | Error Message |
|---------|-----------------------------------|
| 202 | Caller is not a system application. |
| 801 | Function is not supported in current device. |
| 5400102 | Operate not permit in current state. |
| 5400108 | Parameter out of range. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
audioHapticPlayerInstance.setHapticsIntensity(0.5).then(() => {
console.info('Promise returned to indicate that set intensity successfully.');
}).catch ((err: BusinessError) => {
console.error(`Failed to set intensity. ${err}`);
});
```
### setHapticsRamp20+
setHapticsRamp(duration: number, startIntensity: number, endIntensity: number): Promise<void>
Sets the haptic ramp for this audio-haptic player. This API uses a promise to return the result.
> **NOTE**
>
>- This API must be called before and after the audio-haptic player plays and before the player is released.
>- This API can be called only once.
**System API**: This is a system API.
**System capability**: SystemCapability.Multimedia.AudioHaptic.Core
**Parameters**
| Name | Type | Mandatory| Description |
| -------- | ---------------------------------------- | ---- | ------------------------ |
| duration | number | Yes | Duration of the ramp, in ms. The value must be an integer and cannot be less than 100 ms.|
| startIntensity | number | Yes | Start intensity. The value is in the range [0.00, 1.00], where 1.00 indicates the maximum intensity (100%).|
| endIntensity | number | Yes | End intensity. The value is in the range [0.00, 1.00], where 1.00 indicates the maximum intensity (100%).|
**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) and [Media Error Codes](../apis-media-kit/errorcode-media.md).
| Error Code | Error Message |
|---------|-----------------------------------|
| 202 | Caller is not a system application. |
| 801 | Function is not supported in current device. |
| 5400102 | Operate not permit in current state. |
| 5400108 | Parameter out of range. |
**Example**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
const duration = 10000;
const startIntensity = 0.5;
const endIntensity = 1;
audioHapticPlayerInstance.setHapticsRamp(duration, startIntensity, endIntensity).then(() => {
console.info('Promise returned to indicate that set haptics ramp successfully.');
}).catch ((err: BusinessError) => {
console.error(`Failed to set haptics ramp. ${err}`);
});
```