ゲーム録画と配信
Microsoft Game Development Kit (GDK) の新機能は、配信 UI を表示する一連の配信通知用 API で、スクリーンショット、ビデオ クリップ、配信にメタデータを追加し、診断のスクリーンショットとビデオをキャプチャします。 配信通知では、配信パイプラインに分析情報が提供されます。 配信 UI を使用すると、ユーザーは配信の開始と停止を制御できます。 マップの名前、ゲーム内のステージ、キャプチャされた特定の瞬間に関する情報などのメタデータを追加することで、録画を簡単に検索できるようになります。 これらの API を組み合わせることで、スクリーンショット、ビデオ クリップ、配信の制御が向上し、より高度な分析情報が得られるようになります。
配信通知と UI
XAppBroadcastGetStatus
は配信の状態に関するステータス更新を表示します。 このメソッドを使用して、配信を開始できるかどうかを判断できます。 配信を開始できるかどうかの判断には、キャプチャ リソースが使用可能かどうか、ゲームで配信が許可されているか、ユーザーやシステムで配信が無効にされているかなど、さまざまな要因が関係します。 XAppBroadcastStatus
構造体の (canStartBroadcast
を除く) すべてのメンバーが false
を返す場合、canStartBroadcast
は true
を返します。 配信を開始できる場合は、XAppBroadcastShowUI
を呼び出して現在のユーザーに配信 UI を表示します。 その後、ユーザーは手動で配信を開始する必要があります。 XAppBroadcastIsAppBroadcasting
は現在のアプリが配信を行っているかどうかを判断するために使用されます。 XAppBroadcastUnregisterIsAppBroadcasting
は配信ステータスからの変更イベントの登録を解除するために使用されます。
スクリーンショット、ビデオ クリップ、配信にメタデータを追加します。
スクリーンショット、ビデオ クリップ、配信にアタッチされたメタデータを追加および管理するために、複数の API が使用されます。 メタデータの追加はオプションです。 ただし、追加すると、ユーザーが必要な録画を見つけやすくなります。 メタデータは、文字列、整数、倍精度浮動小数点型など、さまざまな形式をとることができます。 システムは、メタデータ項目にストレージ領域を割り当てます。 割り当てられたストレージが不足する場合は、AppCaptureMetatPriority
を使用して、格納されているメタデータ項目の相対的な優先順位と、領域を空けるためにパージするメタデータの順序を決定します。
ボイス チャット
ボイス チャットは、個人を特定できる情報やその他の機密データを含む可能性のあるユーザー生成コンテンツと見なす必要があります。 このため、ゲーム チャットでユーザーがレンダリングした音声は、記録されたクリップやゲーム キャプチャに含めないでください。 これは、ユーザーの音声 AudioCategory_GameChat
を含むレンダリング ストリームに適切なオーディオ カテゴリを割り当てることで実行できます。 これはそれに応じてストリームにタグを付け、システムがゲーム DVR クリップをキャプチャするときにこのオーディオ ストリームを無視することを認識できるようにします。
診断スクリーンショットとビデオ クリップ
これらの Microsoft Game Development Kit (GDK) API を使用すると、診断のためのスクリーンショットとビデオ クリップをキャプチャできます。 これらの診断 API は、開発キット上でのみ使用可能であることに注意してください。 これらの API をリテール用本体で呼び出すと、すぐにエラーが発生します。 キャプチャされたスクリーンショットとビデオ クリップは、通常のユーザー ストレージではなく、ローカル ゲーム パーティションに送られます。 ゲームが高ダイナミック レンジ (HDR) で実行されている場合、呼び出し元では、標準ダイナミック レンジ (SDR) のスクリーンショット、HDR のスクリーンショット、またはその両方のどれをキャプチャするかを指定できます。 スクリーンショットが撮られた後、生成される構造体には、スクリーンショット ファイルの場所に関するパス情報が含まれます。 ビデオ クリップの場合、ユーザーのゲーム録画設定に応じて、H264 (Advanced Video Coding (AVC)) でエンコードされたビデオまたは H265 (High Efficiency Video Coding (HEVC)) でエンコードされたビデオを返すことができます。 生成される構造体には、開始時刻、継続時間、幅、高さなどの情報も含まれます。
通常のスクリーンショット
Microsoft Game Development Kit (GDK) の新機能として、通常のスクリーンショットをキャプチャすることができます。 キャプチャされたスクリーンショットは、スクリーンショット用の通常のユーザー ストレージに保存されます。 また、スクリーンショットがキャプチャされたことがシステムから通知されます。 スクリーンショットは、ゲーム パーティションから直接アクセスできない別のパーティションに格納されるため、録画されたスクリーンショットにアクセスするには、提供されているストリームのオープン/読み取り/クローズ API を使用する必要があります。 ゲームが HDR で実行されている場合、スクリーンショットの SDR バージョンと HDR バージョンの両方のパスが返されることに注意してください。