1# IVibratorInterface
2
3
4## 概述
5
6Vibrator模块向上层服务提供统一的接口。
7
8上层服务开发人员可根据Vibrator模块提供的统一接口,用于控制马达执行单次或周期性振动。
9
10**起始版本:** 3.2
11
12**相关模块:**[Vibrator](_vibrator_v11.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [StartOnce](#startonce) ([in] unsigned int duration) | 控制马达以执行给定持续时间的单次振动。 |
23| [Start](#start) ([in] String effectType) | 控制马达以预置效果执行周期性振动。 |
24| [Stop](#stop) ([in] enum [HdfVibratorMode](_vibrator_v11.md#hdfvibratormode) mode) | 停止马达振动。 |
25| [GetVibratorInfo](#getvibratorinfo) ([out] struct [HdfVibratorInfo](_hdf_vibrator_info_v11.md)[] vibratorInfo) | 获取有关系统中支持设置振幅和频率的所有马达信息。 |
26| [EnableVibratorModulation](#enablevibratormodulation) ([in] unsigned int duration, [in] int intensity, [in] int frequency) | 根据传入的振动效果启动马达。 |
27| [EnableCompositeEffect](#enablecompositeeffect) ([in] struct [HdfCompositeEffect](_hdf_composite_effect_v11.md) effect) | 控制可控震源以执行具有自定义复合效果的周期性振动。 |
28| [GetEffectInfo](#geteffectinfo) ([in] String effectType, [out] struct [HdfEffectInfo](_hdf_effect_info_v11.md) effectInfo) | 获取指定效果类型的振动效果信息。 |
29| [IsVibratorRunning](#isvibratorrunning) ([out] boolean state) | 获取振动器当前是否正在振动。 |
30
31
32## 成员函数说明
33
34
35### EnableCompositeEffect()
36
37```
38IVibratorInterface::EnableCompositeEffect ([in] struct HdfCompositeEffect effect)
39```
40
41**描述**
42
43
44控制可控震源以执行具有自定义复合效果的周期性振动。
45
46**起始版本:** 3.2
47
48**参数:**
49
50| 名称 | 描述 |
51| -------- | -------- |
52| effect | 表示指向自定义复合效果类型的指针。关于细节,请参阅[HdfCompositeEffect](_hdf_composite_effect_v11.md)。 |
53
54**返回:**
55
56如果操作成功,则返回0。
57
58如果操作失败,则返回负值。
59
60
61### EnableVibratorModulation()
62
63```
64IVibratorInterface::EnableVibratorModulation ([in] unsigned int duration, [in] int intensity, [in] int frequency )
65```
66
67**描述**
68
69
70根据传入的振动效果启动马达。
71
72**起始版本:** 3.2
73
74**参数:**
75
76| 名称 | 描述 |
77| -------- | -------- |
78| duration | 表示马达振动的持续时间,以毫秒为单位。 |
79| intensity | 表示振动周期内的马达振幅。 |
80| frequency | 表示振动周期内的马达频率。 |
81
82**返回:**
83
84如果操作成功,则返回0。
85
86如果不支持振动周期设置,则返回-1。
87
88如果不支持振幅设置,则返回-2。
89
90如果不支持频率设置,则返回-3。
91
92
93### GetEffectInfo()
94
95```
96IVibratorInterface::GetEffectInfo ([in] String effectType, [out] struct HdfEffectInfo effectInfo )
97```
98
99**描述**
100
101
102获取指定效果类型的振动效果信息。
103
104link HdfEffectInfo}。
105
106**起始版本:** 3.2
107
108**参数:**
109
110| 名称 | 描述 |
111| -------- | -------- |
112| effectType | 指示指向预设效果类型的指针。建议最大长度为64字节。 |
113| effectInfo | 表示指向振动效果信息的指针。关于细节,请参阅[HdfEffectInfo](_hdf_effect_info_v11.md)。 |
114
115**返回:**
116
117如果操作成功,则返回0。
118
119如果操作失败,则返回负值。
120
121
122### GetVibratorInfo()
123
124```
125IVibratorInterface::GetVibratorInfo ([out] struct HdfVibratorInfo[] vibratorInfo)
126```
127
128**描述**
129
130
131获取有关系统中支持设置振幅和频率的所有马达信息。
132
133**起始版本:** 3.2
134
135**参数:**
136
137| 名称 | 描述 |
138| -------- | -------- |
139| vibratorInfo | 表示指向马达信息的指针,详见[HdfVibratorInfo](_hdf_vibrator_info_v11.md)。 |
140
141**返回:**
142
143如果操作成功,则返回0。
144
145如果操作失败,则返回负值。
146
147
148### IsVibratorRunning()
149
150```
151IVibratorInterface::IsVibratorRunning ([out] boolean state)
152```
153
154**描述**
155
156
157获取振动器当前是否正在振动。
158
159**起始版本:** 3.2
160
161**参数:**
162
163| 名称 | 描述 |
164| -------- | -------- |
165| state | 表示可控震源的当前振动状态。 |
166
167**返回:**
168
169如果操作成功,则返回0。
170
171如果操作失败,则返回负值。
172
173
174### Start()
175
176```
177IVibratorInterface::Start ([in] String effectType)
178```
179
180**描述**
181
182
183控制马达以预置效果执行周期性振动。
184
185单次振动与周期振动相互排斥。在执行周期性振动之前,需退出单次振动。
186
187**起始版本:** 2.2
188
189**参数:**
190
191| 名称 | 描述 |
192| -------- | -------- |
193| effectType | 表示马达振动的预设效果类型。建议最大长度为64字节。 |
194
195**返回:**
196
197如果操作成功,则返回0。
198
199如果操作失败,则返回负值。
200
201
202### StartOnce()
203
204```
205IVibratorInterface::StartOnce ([in] unsigned int duration)
206```
207
208**描述**
209
210
211控制马达以执行给定持续时间的单次振动。
212
213单次振动与周期振动相互排斥。在执行单次振动之前,需退出周期性振动。
214
215**起始版本:** 2.2
216
217**参数:**
218
219| 名称 | 描述 |
220| -------- | -------- |
221| duration | 表示单次振动的持续时间,以毫秒为单位。 |
222
223**返回:**
224
225如果操作成功,则返回0。
226
227如果操作失败,则返回负值。
228
229
230### Stop()
231
232```
233IVibratorInterface::Stop ([in] enum HdfVibratorMode mode)
234```
235
236**描述**
237
238
239停止马达振动。
240
241马达启动前,必须在任何模式下停止振动。此功能用在振动过程之后。
242
243**起始版本:** 2.2
244
245**参数:**
246
247| 名称 | 描述 |
248| -------- | -------- |
249| mode | 表示振动模式,可以是单次或周期性的,详见[HdfVibratorMode](_vibrator_v11.md#hdfvibratormode)。 |
250
251**返回:**
252
253如果操作成功,则返回0。
254
255如果操作失败,则返回负值。
256