Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
4e294b56
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4e294b56
编写于
11月 09, 2022
作者:
H
h00514358
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs
Signed-off-by:
N
h00514358
<
huiyuehong@huawei.com
>
上级
81f22a2f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
130 addition
and
74 deletion
+130
-74
zh-cn/application-dev/reference/apis/js-apis-vibrator.md
zh-cn/application-dev/reference/apis/js-apis-vibrator.md
+130
-74
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-vibrator.md
浏览文件 @
4e294b56
# 振动
vibrator模块提供控制马达振动
的能力,如通过接口控制马达启动马达振动,停止马达振动等
。
vibrator模块提供控制马达振动
启、停的能力
。
> **说明:**
>
...
...
@@ -17,7 +17,7 @@ import vibrator from '@ohos.vibrator';
startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: AsyncCallback
<
void
>
): void
按照
指定振动效果和振动属性触发马达振动。
根据
指定振动效果和振动属性触发马达振动。
**需要权限**
:ohos.permission.VIBRATE
...
...
@@ -29,7 +29,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: Asy
| --------- | -------------------------------------- | ---- | :--------------------------------------------------------- |
| effect |
[
VibrateEffect
](
#vibrateeffect9
)
| 是 | 马达振动效果。 |
| attribute |
[
VibrateAttribute
](
#vibrateattribute9
)
| 是 | 马达振动属性。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数
。
当马达振动成功,err为undefined,否则为错误对象。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数
,
当马达振动成功,err为undefined,否则为错误对象。 |
**错误码**
:
...
...
@@ -44,20 +44,20 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: Asy
```
js
try
{
vibrator
.
startVibration
({
type
:
'
time
'
,
duration
:
1000
,
},{
id
:
0
,
type
:
'
time
'
,
duration
:
1000
,
},
{
id
:
0
,
usage
:
'
alarm
'
},
(
error
)
=>
{
if
(
error
){
console
.
log
(
'
vibrate fail, error.code:
'
+
error
.
code
+
'
error.message:
'
,
+
error
.
message
);
}
else
{
console
.
log
(
'
Callback returned to indicate a successful vibration.
'
);
},
(
error
)
=>
{
if
(
error
)
{
console
.
error
(
'
vibrate fail, error.code:
'
+
error
.
code
+
'
error.message:
'
,
+
error
.
message
);
return
;
}
console
.
log
(
'
Callback returned to indicate a successful vibration.
'
);
});
}
catch
(
err
)
{
console
.
info
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
catch
(
err
)
{
console
.
error
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
```
...
...
@@ -65,7 +65,7 @@ try {
startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise
<
void
>
按照
指定振动效果和振动属性触发马达振动。
根据
指定振动效果和振动属性触发马达振动。
**需要权限**
:ohos.permission.VIBRATE
...
...
@@ -82,7 +82,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise<v
| 类型 | 说明 |
| ------------------- | -------------------------------------- |
| Promise
<
void
>
| Promise对象。
无返回结果的Promise对象。
|
| Promise
<
void
>
| Promise对象。 |
**错误码**
:
...
...
@@ -97,18 +97,18 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise<v
```
js
try
{
vibrator
.
startVibration
({
type
:
'
time
'
,
duration
:
1000
type
:
'
time
'
,
duration
:
1000
},
{
id
:
0
,
usage
:
'
alarm
'
}).
then
(()
=>
{
}).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate a successful vibration
'
);
}
).
catch
((
error
)
=>
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
})
}
catch
(
err
)
{
console
.
info
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
,
(
error
)
=>
{
console
.
error
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
})
;
}
catch
(
err
)
{
console
.
error
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
```
...
...
@@ -116,7 +116,7 @@ try {
stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback
<
void
>
): void
按照
要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败
。
按照
指定模式停止马达的振动
。
**需要权限**
:ohos.permission.VIBRATE
...
...
@@ -126,22 +126,42 @@ stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback<void>):
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------- | ---- | ------------------------------------------------------------ |
| stopMode |
[
VibratorStopMode
](
#vibratorstopmode
)
| 是 |
马达停止指定的
振动模式。 |
| stopMode |
[
VibratorStopMode
](
#vibratorstopmode
)
| 是 |
指定的停止
振动模式。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调函数。当马达停止振动成功,err为undefined,否则为错误对象。 |
**示例:**
```
js
try
{
vibrator
.
stopVibration
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_PRESET
,
function
(
error
){
if
(
error
){
// 按照固定时长振动
vibrator
.
startVibration
({
type
:
'
time
'
,
duration
:
1000
,
},
{
id
:
0
,
usage
:
'
alarm
'
},
(
error
)
=>
{
if
(
error
)
{
console
.
error
(
'
vibrate fail, error.code:
'
+
error
.
code
+
'
error.message:
'
,
+
error
.
message
);
return
;
}
console
.
log
(
'
Callback returned to indicate a successful vibration.
'
);
});
}
catch
(
err
)
{
console
.
error
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
try
{
// 按照VIBRATOR_STOP_MODE_TIME模式停止振动
vibrator
.
stopVibration
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_TIME
,
function
(
error
)
{
if
(
error
)
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
}
else
{
console
.
log
(
'
Callback returned to indicate successful.
'
);
return
;
}
console
.
log
(
'
Callback returned to indicate successful.
'
);
})
}
catch
(
err
)
{
console
.
info
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
catch
(
err
)
{
console
.
info
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
```
...
...
@@ -149,7 +169,7 @@ try {
stopVibration(stopMode: VibratorStopMode): Promise
<
void
>
按照
要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败
。
按照
指定模式停止马达的振动
。
**需要权限**
:ohos.permission.VIBRATE
...
...
@@ -165,43 +185,61 @@ stopVibration(stopMode: VibratorStopMode): Promise<void>
| 类型 | 说明 |
| ------------------- | -------------------------------------- |
| Promise
<
void
>
| Promise对象。
无返回结果的Promise对象。
|
| Promise
<
void
>
| Promise对象。 |
**示例:**
```
js
try
{
vibrator
.
stopVibration
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_PRESET
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate a successful vibration.
'
);
},
(
error
)
=>
{
// 按照固定时长振动
vibrator
.
startVibration
({
type
:
'
time
'
,
duration
:
1000
},
{
id
:
0
,
usage
:
'
alarm
'
}).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate a successful vibration
'
);
},
(
error
)
=>
{
console
.
error
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
});
}
catch
(
err
)
{
console
.
error
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
try
{
// 按照VIBRATOR_STOP_MODE_TIME模式停止振动
vibrator
.
stopVibration
(
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
);
});
}
catch
(
err
)
{
console
.
info
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
catch
(
err
)
{
console
.
info
(
'
errCode:
'
+
err
.
code
+
'
,msg:
'
+
err
.
message
);
}
```
## EffectId
马达振动效果的字符串
。
预置的振动效果
。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.Sensors.MiscDevice
| 名称 | 默认值 | 说明 |
| ------------------ | -------------------- | ------------------ |
| EFFECT_CLOCK_TIMER | "haptic.clock.timer" |
预置的振动效果ID
。 |
| EFFECT_CLOCK_TIMER | "haptic.clock.timer" |
描述用户调整计时器时的振动效果
。 |
## VibratorStopMode
马达要停止指定
的振动模式。
停止
的振动模式。
**系统能力**
:以下各项对应的系统能力均为SystemCapability.Sensors.MiscDevice
| 名称 | 默认值 | 说明 |
| ------------------------- | -------- | ------------------------------------------------------------ |
| VIBRATOR_STOP_MODE_TIME | "time" | 停止模式为duration模式的振动。
即触发振动时参数类型为number,参数本身为振动持续时间的触发方式。
|
| VIBRATOR_STOP_MODE_PRESET | "preset" | 停止模式为预置EffectId的振动。
即触发振动时参数类型为EffectId,参数本身为马达振动效果的字符串的触发方式。
|
| VIBRATOR_STOP_MODE_TIME | "time" | 停止模式为duration模式的振动。 |
| VIBRATOR_STOP_MODE_PRESET | "preset" | 停止模式为预置EffectId的振动。 |
## VibrateEffect<sup>9+</sup>
...
...
@@ -223,7 +261,7 @@ try {
| 名称 | 默认值 | 说明 |
| -------- | ------ | ------------------------------ |
| type | "time" | 按照指定持续时间触发马达振动。 |
| duration | - | 马达振动时长, 单位ms。 |
| duration | - | 马达
持续
振动时长, 单位ms。 |
## VibratePreset<sup>9+</sup>
...
...
@@ -246,7 +284,7 @@ try {
| 名称 | 默认值 | 说明 |
| ----- | ------ | -------------- |
| id | 0 | 振动器id。 |
| usage | - | 马达振动场景。 |
| usage | - | 马达振动
的使用
场景。 |
## Usage<sup>9+</sup>
...
...
@@ -257,14 +295,14 @@ try {
| 名称 | 类型 | 说明 |
| ---------------- | ------ | ------------------------------ |
| unknown | string | 没有明确使用场景,最低优先级。 |
| alarm | string | 用于警报
振动的
场景。 |
| ring | string | 用于铃声
振动的
场景。 |
| notification | string | 用于通知
振动的
场景。 |
| communication | string | 用于通信
振动的
场景。 |
| touch | string | 用于触摸
振动的
场景。 |
| media | string | 用于多媒体
振动的
场景。 |
| physicalFeedback | string | 用于物理反馈
振动的
场景。 |
| simulateReality | string | 用于模拟现实
振动的
场景。 |
| alarm | string | 用于警报场景。 |
| ring | string | 用于铃声场景。 |
| notification | string | 用于通知场景。 |
| communication | string | 用于通信场景。 |
| touch | string | 用于触摸场景。 |
| media | string | 用于多媒体场景。 |
| physicalFeedback | string | 用于物理反馈场景。 |
| simulateReality | string | 用于模拟现实场景。 |
## vibrator.vibrate<sup>(deprecated)</sup>
...
...
@@ -288,14 +326,14 @@ vibrate(duration: number): Promise<void>
| 类型 | 说明 |
| ------------------- | -------------------------------------- |
| Promise
<
void
>
| Promise对象。
无返回结果的Promise对象。
|
| Promise
<
void
>
| Promise对象。 |
**示例:**
```
js
vibrator
.
vibrate
(
1000
).
then
(()
=>
{
vibrator
.
vibrate
(
1000
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate a successful vibration.
'
);
},
(
error
)
=>
{
},
(
error
)
=>
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
});
```
...
...
@@ -322,10 +360,10 @@ vibrate(duration: number, callback?: AsyncCallback<void>): void
**示例:**
```
js
vibrator
.
vibrate
(
1000
,
function
(
error
)
{
if
(
error
)
{
vibrator
.
vibrate
(
1000
,
function
(
error
)
{
if
(
error
)
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
}
else
{
}
else
{
console
.
log
(
'
Callback returned to indicate a successful vibration.
'
);
}
})
...
...
@@ -354,14 +392,14 @@ vibrate(effectId: EffectId): Promise<void>
| 类型 | 说明 |
| ------------------- | -------------------------------------- |
| Promise
<
void
>
| Promise对象。
无返回结果的Promise对象。
|
| Promise
<
void
>
| Promise对象。 |
**示例:**
```
js
vibrator
.
vibrate
(
vibrator
.
EffectId
.
EFFECT_CLOCK_TIMER
).
then
(()
=>
{
vibrator
.
vibrate
(
vibrator
.
EffectId
.
EFFECT_CLOCK_TIMER
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate a successful vibration.
'
);
},
(
error
)
=>
{
},
(
error
)
=>
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
});
```
...
...
@@ -389,10 +427,10 @@ vibrate(effectId: EffectId, callback?: AsyncCallback<void>): void
**示例:**
```
js
vibrator
.
vibrate
(
vibrator
.
EffectId
.
EFFECT_CLOCK_TIMER
,
function
(
error
)
{
if
(
error
)
{
vibrator
.
vibrate
(
vibrator
.
EffectId
.
EFFECT_CLOCK_TIMER
,
function
(
error
)
{
if
(
error
)
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
}
else
{
}
else
{
console
.
log
(
'
Callback returned to indicate a successful vibration.
'
);
}
})
...
...
@@ -402,7 +440,7 @@ vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function(error){
stop(stopMode: VibratorStopMode): Promise
<
void
>
按照
要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败
。
按照
指定模式停止马达的振动
。
从API version 9 开始不再维护,建议使用
[
vibrator.stopVibration
](
#vibratorstopvibration9-1
)
代替。
...
...
@@ -420,14 +458,23 @@ stop(stopMode: VibratorStopMode): Promise<void>
| 类型 | 说明 |
| ------------------- | -------------------------------------- |
| Promise
<
void
>
| Promise对象。
无返回结果的Promise对象。
|
| Promise
<
void
>
| Promise对象。 |
**示例:**
```
js
vibrator
.
stop
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_PRESET
).
then
(()
=>
{
// 按照effectId类型启动振动
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_MODE_PRESET模式停止振动
vibrator
.
stop
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_PRESET
).
then
(()
=>
{
console
.
log
(
'
Promise returned to indicate a successful vibration.
'
);
},
(
error
)
=>
{
},
(
error
)
=>
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
});
```
...
...
@@ -437,7 +484,7 @@ vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(()=>{
stop(stopMode: VibratorStopMode, callback?: AsyncCallback
<
void
>
): void
按照
要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。
按照
指定模式停止马达的振动。
从API version 9 开始不再维护,建议使用
[
vibrator.stopVibration
](
#vibratorstopvibration9
)
代替。
...
...
@@ -455,10 +502,19 @@ stop(stopMode: VibratorStopMode, callback?: AsyncCallback<void>): void
**示例:**
```
js
vibrator
.
stop
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_PRESET
,
function
(
error
){
if
(
error
){
// 按照effectId类型启动振动
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_MODE_PRESET模式停止振动
vibrator
.
stop
(
vibrator
.
VibratorStopMode
.
VIBRATOR_STOP_MODE_PRESET
,
function
(
error
)
{
if
(
error
)
{
console
.
log
(
'
error.code
'
+
error
.
code
+
'
error.message
'
+
error
.
message
);
}
else
{
}
else
{
console
.
log
(
'
Callback returned to indicate successful.
'
);
}
})
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录