# 振动 - [导入模块](#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) > **说明:** >从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,参数本身为指示马达振动效果的字符串的触发方式。
参数名
类型
必填
说明
duration
number
是
指示马达振动的持续时间。
Promise<void>
指示触发振动是否成功。
callback
AsyncCallback<void>
否
马达执行振动的回调函数,指示触发振动是否成功。
effectId
EffectId
指示马达振动效果的字符串。
stopMode
VibratorStopMode
指示马达要停止指定的振动模式。
指示停止振动是否成功。
马达停止振动的回调函数,指示停止振动是否成功。
名称
默认值
EFFECT_CLOCK_TIMER
"haptic.clock.timer"
调整定时器时振动器的振动效果。
VIBRATOR_STOP_MODE_TIME
"time"
停止模式为duration模式的振动。即触发振动时参数类型为number,参数本身为指示振动持续时间的触发方式。
VIBRATOR_STOP_MODE_PRESET
"preset"
停止模式为预置EffectId的振动。即触发振动时参数类型为EffectId,参数本身为指示马达振动效果的字符串的触发方式。