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