鸿蒙开发设备管理:【@ohos.vibrator (振动)】

振动

说明:
开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import vibrator from '@ohos.vibrator';

vibrator.vibrate

vibrate(duration: number): Promise

按照指定持续时间触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
duration number 指示马达振动的持续时间。

返回值:

类型 说明
Promise 指示触发振动是否成功。

示例:

vibrator.vibrate(1000).then(()=>{
    console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
    console.log("error.code"+error.code+"error.message"+error.message);
});

vibrator.vibrate

vibrate(duration: number, callback?: AsyncCallback): void

按照指定持续时间触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
duration number 指示马达振动的持续时间。
callback AsyncCallback 马达执行振动的回调函数,指示触发振动是否成功。

示例:

vibrator.vibrate(1000,function(error){
    if(error){
        console.log("error.code"+error.code+"error.message"+error.message);
    }else{
        console.log("Callback returned to indicate a successful vibration.");
    }
})

vibrator.vibrate

vibrate(effectId: EffectId): Promise

按照指定振动效果触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
effectId [EffectId] 指示马达振动效果的字符串。

返回值:

类型 说明
Promise 指示触发振动是否成功。

示例:

vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER).then(()=>{
    console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
    console.log("error.code"+error.code+"error.message"+error.message);
});

vibrator.vibrate

vibrate(effectId: EffectId, callback?: AsyncCallback): void

按照指定振动效果触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
effectId [EffectId] 指示马达振动效果的字符串。
callback AsyncCallback 马达执行振动的回调函数,指示触发振动是否成功。

示例:

vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function(error){
    if(error){
        console.log("error.code"+error.code+"error.message"+error.message);
    }else{
        console.log("Callback returned to indicate a successful vibration.");
    }
})

vibrator.stop

stop(stopMode: VibratorStopMode): Promise

按照要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
stopMode [VibratorStopMode] 指示马达要停止指定的振动模式。

返回值:

类型 说明
Promise 指示停止振动是否成功。

示例:

vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(()=>{
    console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
    console.log("error.code"+error.code+"error.message"+error.message);
});

vibrator.stop

stop(stopMode: VibratorStopMode, callback?: AsyncCallback): void;

按照要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
stopMode [VibratorStopMode] 指示马达要停止指定的振动模式。
callback AsyncCallback 马达停止振动的回调函数,指示停止振动是否成功。

示例:

vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET, function(error){
    if(error){
        console.log("error.code"+error.code+"error.message"+error.message);
    }else{
        console.log("Callback returned to indicate successful.");
    }
})

EffectId

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

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.MiscDevice

名称 默认值 说明 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿
EFFECT_CLOCK_TIMER "haptic.clock.timer" 调整定时器时振动器的振动效果。

VibratorStopMode

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

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.MiscDevice

名称 默认值 说明
VIBRATOR_STOP_MODE_TIME "time" 停止模式为duration模式的振动。即触发振动时参数类型为number,参数本身为指示振动持续时间的触发方式。
VIBRATOR_STOP_MODE_PRESET "preset" 停止模式为预置EffectId的振动。即触发振动时参数类型为EffectId,参数本身为指示马达振动效果的字符串的触发方式。
相关推荐
Random_index3 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
鸿蒙自习室7 小时前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙
SuperHeroWu79 小时前
【HarmonyOS】鸿蒙应用接入微博分享
华为·harmonyos·鸿蒙·微博·微博分享·微博sdk集成·sdk集成
zhangjr057512 小时前
【HarmonyOS Next】鸿蒙实用装饰器一览(一)
前端·harmonyos·arkts
Industio_触觉智能13 小时前
如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示
openharmony·selinux·开源鸿蒙·鸿蒙开发板·rk3566开发板
程序员小范15 小时前
孙玲:从流水线工人到谷歌程序员
人工智能·程序员·谷歌·远程工作
程序员鱼皮18 小时前
我发现很多程序员都不会打日志。。
计算机·程序员·开发·编程经验·java程序员
诗歌难吟46418 小时前
初识ArkUI
harmonyos
SameX18 小时前
HarmonyOS Next 设备安全特性深度剖析学习
harmonyos