> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SetRumbleState

> SetRumbleState

# SetRumbleState

设置设备上四个震动电机的期望强度。

## 语法

```cpp theme={null}
void SetRumbleState(
    const GameInputRumbleParams* params
);
```

### 参数

*params*   \_In\_opt\_\
类型:[GameInputRumbleParams\*](/reference/input/gameinput/structs/gameinputrumbleparams)

包含各个震动电机期望强度的结构体。震动电机强度范围为 0.0 到 1.0。

### 返回值

类型:void

## 注解

`SetRumbleState` 方法设置设备上四个震动电机的期望强度。与其他类型的反馈一样，应用程序可以在任何时候调用此方法，但只有当应用程序处于焦点状态时，该设置才会应用到设备。

为尽可能简化使用，应用程序不需要检查设备支持哪些震动电机，可以为所有四个电机指定强度。如果设备缺少这四个电机中的任何一个，GameInput 实现将尝试通过为其他电机增加额外强度来进行适配，以便用户仍能感受到一定程度的反馈。例如，在双电机游戏手柄上，扳机振动值通过为高频振动电机增加少量额外振动强度来进行模拟。

对于已断开连接的设备或没有震动电机的设备，调用 `SetRumbleState` 方法没有任何效果。电机强度值的范围为 \[0.0, 1.0]。任何超出该范围的值都会被限制到最近的有效值。

## 要求

**头文件:** GameInput.h

[GameInput 概述](/build/core-features/common/input/overviews/input-overview)\
[GameInputRumbleParams](/reference/input/gameinput/structs/gameinputrumbleparams)\
[IGameInputDevice](/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice)

## 版本历史

| 版本     | 变更  |
| ------ | --- |
| **v0** | 引入。 |


## Related topics

- [IGameInput::GetCurrentTimestamp](/zh-CN/reference/input/gameinput/interfaces/igameinput/methods/igameinput_getcurrenttimestamp.md)
- [从 XInput 移植到 GameInput](/zh-CN/build/core-features/common/input/porting/input-porting-xinput.md)
- [GameInputRumbleMotors](/zh-CN/reference/input/gameinput/enums/gameinputrumblemotors.md)
- [SetPipelineState](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_setpipelinestate_public.md)
- [XInputSetState](/zh-CN/reference/input/xinputongameinput/functions/xinputsetstate.md)
