# 振动 - [导入模块](#zh-cn_topic_0000001144895807_s56d19203690d4782bfc74069abb6bd71) - [权限列表](#zh-cn_topic_0000001144895807_section11257113618419) - [vibrate.vibrate](#zh-cn_topic_0000001144895807_section94955414221) - [vibrate.vibrate](#zh-cn_topic_0000001144895807_section476323710376) - [vibrate.vibrate](#zh-cn_topic_0000001144895807_section181541055163712) - [vibrate.vibrate](#zh-cn_topic_0000001144895807_section5358162183810) - [vibrate.stop](#zh-cn_topic_0000001144895807_section1717861810386) - [vibrate.stop](#zh-cn_topic_0000001144895807_section237813213385) - [EffectId](#zh-cn_topic_0000001144895807_section153834312418) - [VibratorStopMode](#zh-cn_topic_0000001144895807_section156137011615) >![](../../public_sys-resources/icon-note.gif) **说明:** >从API Version 7 开始支持。 ## 导入模块 ``` import vibrate from '@ohos.vibrator'; ``` ## 权限列表 ohos.permission.VIBRATE ## vibrate.vibrate vibrate\(duration: number\): Promise 按照指定持续时间触发马达振动。 **参数:**

参数名

类型

必填

说明

duration

number

指示马达振动的持续时间。

**返回值:**

类型

说明

Promise<void>

指示触发振动是否成功。

**示例:** ``` vibrate.vibrate(100).then(()=> console.log('Promise returned to indicate a successful vibration.') ).catch((error) => { console.error('Failed to trigger vibration.'); }); ``` ## vibrate.vibrate vibrate\(duration: number, callback?: AsyncCallback\): void 按照指定持续时间触发马达振动。 **参数:**

参数名

类型

必填

说明

duration

number

指示马达振动的持续时间。

callback

AsyncCallback<void>

马达执行振动的回调函数,指示触发振动是否成功。

**示例:** ``` vibrate.vibrate(100, function(error) { if (error) { console.error("Failed to trigger vibration. Error code: " + error.code + ", message: " + error.message); return; } console.info("Succeeded in triggering vibration."); }); ``` ## vibrate.vibrate vibrate\(effectId: EffectId\): Promise 按照指定振动效果触发马达振动。 **参数:**

参数名

类型

必填

说明

effectId

EffectId

指示马达振动效果的字符串。

**返回值:**

类型

说明

Promise<void>

指示触发振动是否成功。

**示例:** ``` vibrate.vibrate(vibrate.EffectId.EFFECT_CLOCK_TIMER).then(()=> console.log('Promise returned to indicate a successful vibration.') ).catch((error) => { console.error('Failed to trigger vibration.'); }); ``` ## vibrate.vibrate vibrate\(effectId: EffectId, callback?: AsyncCallback\): void 按照指定振动效果触发马达振动。 **参数:**

参数名

类型

必填

说明

effectId

EffectId

指示马达振动效果的字符串。

callback

AsyncCallback<void>

马达执行振动的回调函数,指示触发振动是否成功。

**示例:** ``` vibrate.vibrate(vibrate.EffectId.EFFECT_CLOCK_TIMER, function(error) { if (error) { console.error("Failed to trigger vibration. Error code: " + error.code + ", message: " + error.message); return; } console.info("Succeeded in triggering vibration."); }); ``` ## vibrate.stop stop\(stopMode: VibratorStopMode\): Promise 按照要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。 **参数:**

参数名

类型

必填

说明

stopMode

VibratorStopMode

指示马达要停止指定的振动模式。

**返回值:**

类型

说明

Promise<void>

指示停止振动是否成功。

**示例:** ``` vibrate.stop(vibrate.VibratorStopMode.VIBRATOR_STOP_MODE_TIME).then(()=> console.log('Promise returned to indicate a successful vibration stop.') ).catch((error) => { console.error('Failed to stop vibration.'); }); ``` ## vibrate.stop stop\(stopMode: VibratorStopMode, callback?: AsyncCallback\): void; 按照要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。 **参数:**

参数名

类型

必填

说明

stopMode

VibratorStopMode

指示马达要停止指定的振动模式。

callback

AsyncCallback<void>

马达停止振动的回调函数,指示停止振动是否成功。

**示例:** ``` vibrate.stop(vibrate.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, function(error) { if (error) { console.error("Failed to stop vibration. Error code: " + error.code + ", message: " + error.message); return; } console.info("Vibration stopped."); }); ``` ## EffectId 表示马达振动效果的字符串。

名称

默认值

说明

EFFECT_CLOCK_TIMER

"haptic.clock.timer"

调整定时器时振动器的振动效果。

## VibratorStopMode 表示马达要停止指定的振动模式。

名称

默认值

说明

VIBRATOR_STOP_MODE_TIME

"time"

停止模式为duration模式的振动。即触发振动时参数类型为number,参数本身为指示振动持续时间的触发方式。

VIBRATOR_STOP_MODE_PRESET

"preset"

停止模式为预置EffectId的振动。即触发振动时参数类型为EffectId,参数本身为指示马达振动效果的字符串的触发方式。