AppCaptureMetadataWriter クラス

定義

キャプチャされたビデオ ファイルまたはアプリ コンテンツのブロードキャスト ストリームにシステムが挿入するメタデータをアプリに格納できるようにします。

public ref class AppCaptureMetadataWriter sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Capture.AppCaptureMetadataContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Media.Capture.AppCaptureMetadataContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AppCaptureMetadataWriter final : IClosable
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Media.Capture.AppCaptureMetadataContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Media.Capture.AppCaptureMetadataContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AppCaptureMetadataWriter : System.IDisposable
function AppCaptureMetadataWriter()
Public NotInheritable Class AppCaptureMetadataWriter
Implements IDisposable
継承
Object Platform::Object IInspectable AppCaptureMetadataWriter
属性
実装

Windows の要件

デバイス ファミリ
Windows Desktop Extension SDK (10.0.16299.0 で導入)
API contract
Windows.Media.Capture.AppCaptureMetadataContract (v1.0 で導入)

注釈

AppCaptureMetadataWriter のインスタンスを作成すると、システムによってアプリの一意のインスタンスが初期化され、メタデータ項目を書き込む準備が整います。 一度にキャプチャまたはブロードキャストできるアプリは 1 つだけですが、システムは複数のアプリのメタデータを同時に蓄積できます。 AppCaptureMetadataWriter は、現在のキャプチャまたはブロードキャスト状態を開始または変更しません。 システムがメタデータをメモリに保持する限り、 AppCaptureMetadataWriter のインスタンスを作成して保持する必要があります。 AppCaptureMetadataWriter のインスタンスが解放されると、AppCaptureMetadataWriter のそのインスタンスに関連付けられているすべてのメタデータも解放されます。

メタデータ 項目を書き込むとき、システムはタイムスタンプを項目に関連付けて、適用先のキャプチャまたはブロードキャスト時間範囲に自動的に含めます。

現在、 AppCaptureMetadataWriter では、イベントと状態という 2 種類のメタデータ 項目がサポートされています。 メタデータ イベントは 1 つの時点に関連付けられます。通常は、ポイントをスコアリングするゲーム内のプレーヤーなど、瞬間的なアクションに関連付けられます。 状態は、一定の期間にわたって適用されるメタデータ項目です。 この例は、プレーヤーが現在存在するゲーム マップの名前を含む状態です。 状態値が設定されると、システムは、別の値に設定されるまで、 StopState 呼び出しで停止されるまで、またはすべての状態が StopAllStates の呼び出しで終了するまで、その状態の値を保持します。 イベントと状態の両方がキーと値のペアとして表されます。キーは状態またはイベント名で、値は整数、double、または文字列値のいずれかです。

履歴アプリ キャプチャが有効になっている場合、システムは、アクティブにキャプチャまたはブロードキャストしていない場合でも 、AppCaptureMetadataWriter で書き込まれたメタデータを蓄積します。 たとえば、前の 30 秒のキャプチャがディスク上のビデオ ファイルに書き込まれると、記録された時間枠に関連付けられたメタデータがファイルに含まれます。 システムは、蓄積されたメタデータを格納するためにアプリごとに割り当てられるストレージ領域に制限を課します。 RemainingStorageBytesAvailable プロパティをオンにすると、現在使用可能な記憶域を取得できます。

割り当てられたすべての領域が入力されると、メタデータ項目の書き込み時に指定された AppCaptureMetadataPriority 値と、最も古い最も重要で最も重要なデータを最初に削除するために各項目の経過時間を使用して、メタデータの消去が開始されます。 これが発生すると、 MetadataPurged イベントが発生します。 このイベントに応答して、アプリが書き込むメタデータの量を減らすことを選択できますが、これは必須ではありません。

メタデータ 項目は、AppCaptureMetadataPriority 列挙で指定された Important または Informational として分類されます。 重要な 優先度は、メタデータが Xbox Live サービスにアップロードされることを意味します。 メタデータは、ユーザーがクリップを検索したり、ブロードキャストに注釈を付けたりするのに役立ちます。 重要なメタデータと情報メタデータの両方が、生成された .mp4 ファイルに埋め込まれているため、メタデータにプライベート ユーザー情報を含めないようにしてください。

バックグラウンド サービスがアイドル タイムアウトのためにシャットダウンした場合、この API はエラーをスローする可能性があります。

コンストラクター

AppCaptureMetadataWriter()

AppCaptureMetadataWriter クラスの新しいインスタンスを初期化します。

プロパティ

RemainingStorageBytesAvailable

アプリ キャプチャ メタデータ項目用にシステムによって割り当てられた記憶域に残っているバイト数を取得します。

メソッド

AddDoubleEvent(String, Double, AppCaptureMetadataPriority)

新しい二重メタデータ イベントを追加します。

AddInt32Event(String, Int32, AppCaptureMetadataPriority)

新しい整数メタデータ イベントを追加します。

AddStringEvent(String, String, AppCaptureMetadataPriority)

新しい文字列メタデータ イベントを追加します。

Close()

オブジェクトと関連付けられているリソースを破棄します。

Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

StartDoubleState(String, Double, AppCaptureMetadataPriority)

新しい二重メタデータ状態を追加します。

StartInt32State(String, Int32, AppCaptureMetadataPriority)

新しい二重メタデータ状態を追加します。

StartStringState(String, String, AppCaptureMetadataPriority)

新しい二重メタデータ状態を追加します。

StopAllStates()

すべてのメタデータ状態を停止します。

StopState(String)

指定した識別子を使用してメタデータの状態を停止します。

イベント

MetadataPurged

以前に格納されたメタデータ項目がシステムによって消去されるときに発生します。

適用対象