1# IVibratorInterface 2 3 4## **概述** 5 6Vibrator模块向上层服务提供统一的接口。 7 8上层服务开发人员可根据Vibrator模块提供的统一接口,用于控制马达执行单次或周期性振动。 9 10**Since:** 11 123.2 13 14**Version:** 15 161.1 17 18**相关模块:** 19 20[Vibrator](vibrator.md) 21 22 23## **汇总** 24 25 26### Public 成员函数 27 28 | 名称 | 描述 | 29| -------- | -------- | 30| [StartOnce](#startonce) ([in] unsigned int duration) | 控制马达以执行给定持续时间的单次振动。 | 31| [Start](#start) ([in] String effectType) | 控制马达以预置效果执行周期性振动。 | 32| [Stop](#stop) ([in] enum [HdfVibratorMode](vibrator.md#hdfvibratormode) mode) | 停止马达振动。 | 33| [GetVibratorInfo](#getvibratorinfo) ([out] struct [HdfVibratorInfo](_hdf_vibrator_info.md)[] vibratorInfo) | 获取有关系统中支持设置振幅和频率的所有马达信息。 | 34| [EnableVibratorModulation](#enablevibratormodulation) ([in] unsigned int duration, [in] int intensity, [in] int frequency) | 根据传入的振动效果启动马达。 | 35 36 37## **成员函数说明** 38 39 40### EnableVibratorModulation() 41 42 43``` 44IVibratorInterface::EnableVibratorModulation ([in] unsigned int duration, [in] int intensity, [in] int frequency ) 45``` 46 47**描述:** 48 49根据传入的振动效果启动马达。 50 51**参数:** 52 53 | 名称 | 描述 | 54| -------- | -------- | 55| duration | 表示马达振动的持续时间,以毫秒为单位。 | 56| intensity | 表示振动周期内的马达振幅。 | 57| frequency | 表示振动周期内的马达频率。 | 58 59**返回:** 60 61如果操作成功,则返回0。 62 63如果不支持振动周期设置,则返回-1。 64 65如果不支持振幅设置,则返回-2。 66 67如果不支持频率设置,则返回-3。 68 69 70### GetVibratorInfo() 71 72 73``` 74IVibratorInterface::GetVibratorInfo ([out] struct HdfVibratorInfo[] vibratorInfo) 75``` 76 77**描述:** 78 79获取有关系统中支持设置振幅和频率的所有马达信息。 80 81**参数:** 82 83 | 名称 | 描述 | 84| -------- | -------- | 85| vibratorInfo | 表示指向马达信息的指针,详见[HdfVibratorInfo](_hdf_vibrator_info.md)。 | 86 87**返回:** 88 89如果操作成功,则返回0。 90 91如果操作失败,则返回负值。 92 93 94### Start() 95 96 97``` 98IVibratorInterface::Start ([in] String effectType) 99``` 100 101**描述:** 102 103控制马达以预置效果执行周期性振动。 104 105单次振动与周期振动相互排斥。在执行周期性振动之前,需退出单次振动。 106 107**参数:** 108 109 | 名称 | 描述 | 110| -------- | -------- | 111| effectType | 表示马达振动的预设效果类型。建议最大长度为64字节。 | 112 113**返回:** 114 115如果操作成功,则返回0。 116 117如果操作失败,则返回负值。 118 119 120### StartOnce() 121 122 123``` 124IVibratorInterface::StartOnce ([in] unsigned int duration) 125``` 126 127**描述:** 128 129控制马达以执行给定持续时间的单次振动。 130 131单次振动与周期振动相互排斥。在执行单次振动之前,需退出周期性振动。 132 133**参数:** 134 135 | 名称 | 描述 | 136| -------- | -------- | 137| duration | 表示单次振动的持续时间,以毫秒为单位。 | 138 139**返回:** 140 141如果操作成功,则返回0。 142 143如果操作失败,则返回负值。 144 145 146### Stop() 147 148 149``` 150IVibratorInterface::Stop ([in] enum HdfVibratorMode mode) 151``` 152 153**描述:** 154 155停止马达振动。 156 157马达启动前,必须在任何模式下停止振动。此功能用在振动过程之后。 158 159**参数:** 160 161 | 名称 | 描述 | 162| -------- | -------- | 163| mode | 表示振动模式,可以是单次或周期性的,详见[HdfVibratorMode](vibrator.md#hdfvibratormode)。 | 164 165**返回:** 166 167如果操作成功,则返回0。 168 169如果操作失败,则返回负值。 170