> ## 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.

# Game DVR とブロードキャスト

> Game DVR とブロードキャスト

Microsoft Game Development Kit (GDK) には、ブロードキャスト通知の表示、スクリーンショット、ビデオ クリップ、およびブロードキャストへのメタデータの追加、診断用スクリーンショットとビデオの取得を行うための一連の API が含まれています。ブロードキャスト通知は、ブロードキャスト パイプラインに関する情報を提供します。ブロードキャスト UI は、ブロードキャストの開始と停止をユーザー自身が制御できるようにします。メタデータの追加により、マップ名、ゲーム内のレベル、キャプチャした瞬間に関する情報など、録画したものを検索しやすくなります。これらの API を組み合わせて使用することで、スクリーンショット、ビデオ クリップ、およびブロードキャストをより適切に制御し、把握することが可能になります。

## ブロードキャスト通知と UI

`XAppBroadcastGetStatus` は、ブロードキャストの状態に関するステータスの更新を提供します。このメソッドを使用して、ブロードキャストを開始できるかどうかを判定します。ブロードキャストが開始可能かどうかを判定する際には、キャプチャ リソースが利用可能であること、ゲームがブロードキャストを許可しているかどうか、およびユーザーまたはシステムがブロードキャストを無効にしていないかどうかなど、多くの要因が関係します。`XAppBroadcastStatus` 構造体のすべてのメンバー (`canStartBroadcast` を除く) が `false` を返す場合、`canStartBroadcast` は `true` を返します。ブロードキャストを開始できる場合は、`XAppBroadcastShowUI` を呼び出して、現在のユーザー向けにブロードキャスト UI を表示します。その後、ユーザーが手動でブロードキャストを開始する必要があります。`XAppBroadcastIsAppBroadcasting` は、現在のアプリがブロードキャスト中かどうかを判定するために使用します。`XAppBroadcastUnregisterIsAppBroadcasting` は、ブロードキャスト状態の変更イベントの登録を解除するために使用します。

## スクリーンショット、ビデオ クリップ、およびブロードキャストへのメタデータの追加

スクリーンショット、ビデオ クリップ、またはブロードキャストに付加するメタデータの追加と管理には、複数の API が使用されます。メタデータの追加は任意です。ただし、メタデータを追加することで、ユーザーが目的の録画物を見つけやすくなります。メタデータには、文字列、整数、倍精度浮動小数点数などのさまざまな形式があります。システムはメタデータ項目用のストレージ領域を割り当てます。割り当てられた領域が不足した場合は、`AppCaptureMetatPriority` を使用して、保存されているメタデータ項目の相対的な優先度と、領域を解放するためにメタデータを削除する順序が決定されます。

## ボイス チャット

ボイス チャットは、個人を特定できる情報やその他の機密情報を含む可能性のあるユーザー生成コンテンツと見なす必要があります。このため、ゲーム チャットでレンダリングされたユーザーの音声は、録画クリップやゲーム キャプチャに含めるべきではありません。これを実現するには、ユーザーの音声を含むレンダー ストリームに適切なオーディオ カテゴリ (`AudioCategory_GameChat`) を割り当てます。これにより、ストリームに適切なタグが付けられ、Game DVR のクリップをキャプチャする際に、システムがこのオーディオ ストリームを無視するようになります。

## 診断用スクリーンショットとビデオ クリップ

これらの Microsoft Game Development Kit (GDK) API を使用すると、診断目的でスクリーンショットとビデオ クリップをキャプチャできます。なお、これらの診断 API は開発キットでのみ利用可能です。製品版コンソールでこれらの API を呼び出すと、直ちに失敗します。キャプチャされたスクリーンショットとビデオ クリップは、通常のユーザー ストレージではなく、ローカルのゲーム パーティションに保存されます。ゲームがハイ ダイナミック レンジ (HDR) で動作している場合、呼び出し元は標準ダイナミック レンジ (SDR) スクリーンショット、HDR スクリーンショット、またはその両方をキャプチャするかを指定できます。スクリーンショットが記録された後、結果の構造体にはスクリーンショット ファイルの場所に関するパス情報が含まれます。ビデオ クリップの場合、ユーザーの Game DVR 設定に応じて、H264 (Advanced Video Coding (AVC)) エンコードされたビデオ、または H265 (High Efficiency Video Coding (HEVC)) エンコードされたビデオが返される可能性があります。結果の構造体には、開始時刻、時間、幅と高さなどの情報も含まれます。

## 通常のスクリーンショット

Microsoft Game Development Kit (GDK) には、通常のスクリーンショットをキャプチャする機能が新たに追加されました。結果のスクリーンショットは、スクリーンショット用の通常のユーザー ストレージに保存されます。また、スクリーンショットがキャプチャされたことを示すシステム通知が表示されます。スクリーンショットは、ゲーム パーティションから直接アクセスできない別のパーティションに保存されるため、記録されたスクリーンショットにアクセスするには、提供されている open/read/close ストリーム API を使用する必要があります。ゲームが HDR で動作している場合、スクリーンショットの SDR 版と HDR 版の両方のパスが返されることに注意してください。

## リファレンス API ドキュメント

* [Xappcapture (API の内容)](/reference/system/xappcapture/xappcapture_members)

## 関連情報

[XAppCapture](/reference/system/xappcapture/xappcapture_members)


## Related topics

- [クロスネットワークマルチプレイヤーの実装例](/ja-jp/services/xbox-services/multiplayer/concepts/live-console-xr007-multiplayer-example.md)
- [オーディオの概要](/ja-jp/build/console-features/audio/overviews/audio.md)
- [クロスネットワークマルチプレイヤーの実装例: MMO](/ja-jp/services/xbox-services/multiplayer/concepts/live-console-xr007-mmo-example.md)
- [XBOX コンソールでの Game DVR とブロードキャスト](/ja-jp/build/console-features/game-dvr/index.md)
- [コンソール固有の GDK 機能](/ja-jp/build/console-features/console-features-overview.md)
