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