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