VideoMediaFrame 类

定义

表示 MediaFrameSource 中的帧,该帧在 由 IDirect3DSurfaceSoftwareBitmap 表示的视频帧中提供数据。

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 属性提供的 SoftwareBitmapDirect3DSurface 对象,系统将创建对这些对象的强引用,这意味着在对包含 MediaFrameReference 调用 Dispose 时不会释放它们。 必须直接为要立即释放的对象显式调用 SoftwareBitmapDirect3DSurfaceDispose 方法。 否则,垃圾回收器将最终为这些对象释放内存,但无法知道这将何时出现,并且如果分配的位图或曲面的数量超过系统所允许的最大量,将停止新帧的流程。 在同一思路中,如果调用了 (GetVideoFrame () ) [videomediaframe_getvideoframe_824740069.md],则 (VideoFrame) [.。检索到的 /windows.media/videoframe.md] 具有对 VideoMediaFrame 提供的 SoftwareBitmapDirect3DSurface 对象的引用,需要通过手动调用其 Dispose 方法来释放,以避免阻止帧的 fow。 如果打算长时间保留通过 (GetVideoFrame () ) [videomediaframe_getvideoframe_824740069.md] 检索到的视频帧,最好保留它的副本。

有关使用 MediaFrameSource 捕获帧的操作指南,请参阅 使用 MediaFrameReader 处理媒体帧

属性

CameraIntrinsics

获取一个 对象,该对象描述生成 VideoMediaFrame 的相机的失真模型。

DepthMediaFrame

如果 包含深度数据,则获取包含 VideoMediaFrame 的深度数据的 DepthMediaFrame

Direct3DSurface

获取包含 VideoMediaFrame 的图像数据的 IDirect3DSurface 对象。

FrameReference

获取与 VideoMediaFrame 关联的 MediaFrameReference 包装器对象,该 对象提供对媒体帧的格式信息和其他属性的访问。

InfraredMediaFrame

如果 包含红外数据,则获取包含 VideoMediaFrame 的深度数据的 InfraredMediaFrame

SoftwareBitmap

获取一个 SoftwareBitmap 对象,该对象包含 VideoMediaFrame 的图像数据。

VideoFormat

获取描述 VideoMediaFrame 图像数据格式的 对象。

方法

GetVideoFrame()

创建 VideoMediaFrame 的副本作为 VideoFrame 对象。

适用于

另请参阅