IGameInputDevice::GetBatteryState

注意

尚未实现此函数。

获取某一设备的电池状态。

语法

void GetBatteryState(  
         GameInputBatteryState* state  
)  

参数

state _Out_
类型:GameInputBatteryState*

与设备电池状态有关的信息,例如充电率、剩余电量和充电容量。

返回值

类型:void

返回 GameInputBatteryState* 结构并使用零值和未知状态填充。

备注

GetBatteryState 方法返回有关设备电池当前状态的信息。 该信息由 GameInputBatteryStatus 枚举和 GameInputBatteryState 结构定义。

请参阅以下代码示例,查看定义该枚举的常量和定义该结构的成员。

typedef enum GameInputBatteryStatus
{
    GameInputBatteryUnknown     = -1,
    GameInputBatteryNotPresent  =  0,
    GameInputBatteryDischarging =  1,
    GameInputBatteryIdle        =  2,
    GameInputBatteryCharging    =  3
} GameInputBatteryStatus;

typedef struct GameInputBatteryState
{
    float chargeRate;
    float remainingCapacity;
    float fullChargeCapacity;
    GameInputBatteryStatus status;
} GameInputBatteryState;

所有浮点值都以瓦特小时为单位表示。 如果设备不具有电池或无法确定当前电池状态,则所有浮点值都为零。 否则,所有浮点值都是正数字,但 chargeRate 成员除外,它在电池放电时为负数值。

只要可以从设备时检索,就可以提供准确的瓦特小时值。 但是,并非所有设备都提供此信息,或者可能仅提供某些值。 将向任何未提供准确瓦特小时读数的浮点值分配默认值,如下所示:

  • 当充电/放电时,chargeRate 设置为 fullChargeCapacity 值的 +/- 10%;如果充电状态为“空闲”,则为零。

  • remainingCapacity 设置为 fullChargeCapacity 的值乘以剩余电量百分比。

  • fullChargeCapacity 设置为 1 瓦特小时的值。

精细的充电水平 映射的百分比值
完全 100%
中等 70%
40%
严重 10%

当显示电池电量时,为获得最佳的用户体验,显示电池电源“条形图”的任何 UI 代码都应与上表中指定的值相一致。 有关详细信息,请参阅游戏的输入做法

如果从系统断开设备时调用 GetBatteryState 方法,则所有浮点值都设置为零,而状态成员设置为 GameInputBatteryUnknown(即使连接该设备时有效值可用)。 此方法检索本地内存中存储的数据,可以安全地从任何上下文调用。

要求

头文件:GameInput.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

高级 GameInput 主题
GameInput 概述
IGameInputDevice