次の方法で共有


GameInputBatteryState

入力デバイスのバッテリーの状態について説明します。

構文

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

メンバー

chargeRate
型: float

デバイスの充電速度のワット/時値。 デバイスによって推定値が提供されていない場合、chargeRate は fullChargeCapacity の +/- 10%、または充電状態が "アイドル" の場合はゼロに設定されます。

maxChargeRate
型: float

バッテリーを損傷せずに充電できる最大速度のワット/時値。

remainingCapacity
型: float

入力デバイス バッテリーの残量のワット/時値。 デバイスによって推定値が提供されていない場合、remainingCapacity は、fullChargeCapacity の値にバッテリー残量の割合を掛けた値に設定されます。

fullChargeCapacity
型: float

入力デバイス バッテリーの全容量のワット/時値。 デバイスによって推定値が提供されていない場合、fullChargeCapacity は 1 ワット/時に設定されます。

status
型: GameInputBatteryStatus

入力デバイスのバッテリーの状態。

解説

すべての浮動小数点値はワット/時で表されます。 デバイスにバッテリーがない場合、または現在のバッテリー状態を特定できない場合は、すべての浮動小数点値がゼロになります。 それ以外の場合、すべての浮動小数点値は正の数値になりますが、バッテリーが放電するときに負の値になる chargeRate メンバーは例外です。

正確なワット/時値は、デバイスから取得できる場合は常に提供されます。 ただし、一部のデバイスがこの情報を提供しない場合や、一部の値についてのみ提供される場合があります。 正確なワット時の読み取り値が使用可能でない浮動小数点値には、次のように既定値が割り当てられます。

  • chargeRate は、充電/放電時には fullChargeCapacity 値の +/- 10% に設定され、充電状態が "アイドル" の場合は 0 に設定されます
  • remainingCapacity は、fullChargeCapacity の値にバッテリー残量の割合を掛けた値に設定されます
  • fullChargeCapacity は 1 ワット/時の値に設定されます

多くのゲーム コントローラーには、継続的な充電率ではなく、詳細な充電レベルのみをレポートできる低コストのバッテリー充電回路があります。 その場合、詳細な値は、次の表に従って充電率にマッピングされます。

詳細な充電レベル マップされたパーセント値
Full 100%
Medium 70%
Low 40%
Critical 10%

ユーザー エクスペリエンスを最大限高めるために、バッテリー残量の "バー" を表示する UI コードでは、バッテリー レベルを表示するときにこの表の値に合わせる必要があります。

デバイスがシステムから切断されているときに IGameInputDevice::GetBatteryState メソッドが呼び出された場合、(デバイスが接続されていたときに有効な値が使用可能だったとしても) すべての浮動小数点値が 0 に設定され、状態メンバーが GameInputBatteryUnknown に設定されます。 このメソッドはローカル メモリに格納されているデータを取得するだけであり、どのコンテキストからも安全に呼び出すことができます。

要件

ヘッダー: GameInput.h

サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体

関連項目

入力 API の概要
GameInput
IGameInputDevice::GetBatteryState