Share via


VideoMediaFrame クラス

定義

IDirect3DSurface または SoftwareBitmap で表されるビデオ フレーム内のデータを提供する MediaFrameSource のフレームを表します。

public ref class VideoMediaFrame sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class VideoMediaFrame final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class VideoMediaFrame
Public NotInheritable Class VideoMediaFrame
継承
Object Platform::Object IInspectable VideoMediaFrame
属性

Windows の要件

デバイス ファミリ
Windows 10 Anniversary Edition (10.0.14393.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v3.0 で導入)

注釈

メディア フレーム ソースから取得した MediaFrameReference オブジェクトの VideoMediaFrame プロパティにアクセスして、このクラスのインスタンスを取得します。

重要

MediaFrameReferenceVideoMediaFrame プロパティによって提供される SoftwareBitmap オブジェクトまたは Direct3DSurface オブジェクトにアクセスすると、これらのオブジェクトへの厳密な参照が作成されます。つまり、含まれている MediaFrameReferenceDispose を呼び出しても破棄されません。 それらのオブジェクトを即座に破棄するには、SoftwareBitmap または Direct3DSurfaceDispose メソッドを明示的に直接呼び出す必要があります。 そうしない場合、最終的にはガーベジ コレクターによってこれらのオブジェクトのメモリが解放されますが、それがいつになるかは不明であり、割り当てられたビットマップやサーフェスの数がシステムによって許容される最大数を上回った場合、新しいフレームのフローが停止します。 同じ考え方で、(GetVideoFrame())[videomediaframe_getvideoframe_824740069.md]を呼び出した場合は、 (VideoFrame)[..取得した /windows.media/videoframe.md] には、VideoMediaFrame によって提供される SoftwareBitmap オブジェクトまたは Direct3DSurface オブジェクトに対する参照があり、フレームのウィンドウをブロックしないように Dispose メソッドを手動で呼び出して破棄する必要があります。 (GetVideoFrame())[videomediaframe_getvideoframe_824740069.md] を介して取得した VideoFrame を長期間保持する場合は、代わりにそのコピーを保持することをお勧めします。

MediaFrameSource を使用してフレームをキャプチャする方法については、「MediaFrameReader を使用してメディア フレームを処理する」を参照してください。

プロパティ

CameraIntrinsics

VideoMediaFrame を生成したカメラの歪みモデルを表す オブジェクトを取得します。

DepthMediaFrame

フレームに深度データが含まれている場合は、VideoMediaFrame の深度データを含む DepthMediaFrame を取得します。

Direct3DSurface

VideoMediaFrame の画像データを含む IDirect3DSurface オブジェクトを取得します。

FrameReference

VideoMediaFrame に関連付けられている MediaFrameReference ラッパー オブジェクトを取得します。これにより、メディア フレームの書式情報やその他のプロパティにアクセスできます。

InfraredMediaFrame

フレームに赤外線データが含まれている場合は、VideoMediaFrame の深度データを含む InfraredMediaFrame を取得します。

SoftwareBitmap

VideoMediaFrame のイメージ データを含む SoftwareBitmap オブジェクトを取得します。

VideoFormat

VideoMediaFrame イメージ データの形式を記述する オブジェクトを取得します。

メソッド

GetVideoFrame()

VideoFrame オブジェクトとしてVideoMediaFrame のコピーを作成します。

適用対象

こちらもご覧ください