振动

About 13 min

振动

说明: 从API Version 7 开始支持。

导入模块

import vibrate from '@ohos.vibrator';
1

权限列表

ohos.permission.VIBRATE

vibrate.vibrate

vibrate(duration: number): Promise<void>

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

参数:

参数名

类型

必填

说明

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.');
});
1
2
3
4
5

vibrate.vibrate

vibrate(duration: number, callback?: AsyncCallback<void>): 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.");
});
1
2
3
4
5
6
7

vibrate.vibrate

vibrate(effectId: EffectId): Promise<void>

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

参数:

参数名

类型

必填

说明

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.');
});
1
2
3
4
5

vibrate.vibrate

vibrate(effectId: EffectId, callback?: AsyncCallback<void>): 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.");
});
1
2
3
4
5
6
7

vibrate.stop

stop(stopMode: VibratorStopMode): Promise<void>

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

参数:

参数名

类型

必填

说明

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.');
});
1
2
3
4
5

vibrate.stop

stop(stopMode: VibratorStopMode, callback?: AsyncCallback<void>): 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.");
});
1
2
3
4
5
6
7

EffectId

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

名称

默认值

说明

EFFECT_CLOCK_TIMER

"haptic.clock.timer"

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

VibratorStopMode

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

名称

默认值

说明

VIBRATOR_STOP_MODE_TIME

"time"

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

VIBRATOR_STOP_MODE_PRESET

"preset"

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