Freigeben über


VideoMediaFrame Klasse

Definition

Stellt einen Frame aus einer MediaFrameSource dar, der Daten in einem Videoframe bereitstellt, der durch eine IDirect3DSurface - oder SoftwareBitmap dargestellt wird.

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
Vererbung
Object Platform::Object IInspectable VideoMediaFrame
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Anniversary Edition (eingeführt in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v3.0)

Hinweise

Rufen Sie eine instance dieser Klasse ab, indem Sie auf die VideoMediaFrame-Eigenschaft eines MediaFrameReference-Objekts zugreifen, das von einer Medienframequelle abgerufen wurde.

Wichtig

Wenn Sie auf das SoftwareBitmap- oder Direct3DSurface-Objekt zugreifen, das von der VideoMediaFrame-Eigenschaft eines MediaFrameReference bereitgestellt wird, erstellt das System einen starken Verweis auf dieses Objekt. Das bedeutet, dass sie nicht entfernt werden, wenn Sie Dispose auf dem MediaFrameReference aufrufen, der das Objekt enthält. Sie müssen die Dispose-Methode von SoftwareBitmap oder Direct3DSurface explizit direkt aufrufen, damit die Objekte sofort entfernt werden. Andernfalls wird der Garbage Collector den Speicher für diese Objekte schließlich freigeben. Sie wissen jedoch nicht, wann dies sein wird. Wenn die Anzahl der zugeteilten Bitmaps oder Oberflächen die maximale, vom System zugelassene Menge überschreitet, wird der Fluss neuer Frames beendet. Wenn Sie in derselben Gedankenlinie (GetVideoFrame())[videomediaframe_getvideoframe_824740069.md] aufgerufen haben, dann (VideoFrame)[.. /windows.media/videoframe.md] hat einen Verweis auf die SoftwareBitmap - oder Direct3DSurface-Objekte , die vom VideoMediaFrame bereitgestellt werden, und muss durch manuelles Aufrufen der Dispose-Methode gelöscht werden, um zu vermeiden, dass die Frames nicht blockiert werden. Wenn Sie beabsichtigen, einen VideoFrame, der über (GetVideoFrame())[videomediaframe_getvideoframe_824740069.md] abgerufen wurde, für einen längeren Zeitraum festzuhalten, ist es möglicherweise besser, stattdessen eine Kopie davon festzuhalten.

Anleitungen zur Verwendung von MediaFrameSource zum Erfassen von Frames finden Sie unter Verarbeiten von Medienframes mit MediaFrameReader.

Eigenschaften

CameraIntrinsics

Ruft ein -Objekt ab, das das Verzerrungsmodell der Kamera beschreibt, die den VideoMediaFrame generiert hat.

DepthMediaFrame

Ruft einen DepthMediaFrame mit Tiefendaten für VideoMediaFrame ab, wenn der Frame Tiefendaten enthält.

Direct3DSurface

Ruft ein IDirect3DSurface-Objekt ab, das die Bilddaten für videoMediaFrame enthält.

FrameReference

Ruft das MediaFrameReference-Wrapperobjekt ab, das videoMediaFrame zugeordnet ist, das Zugriff auf Formatinformationen und andere Eigenschaften des Medienframes bietet.

InfraredMediaFrame

Ruft einen InfraredMediaFrame mit Tiefendaten für videoMediaFrame ab, wenn der Frame Infrarotdaten enthält.

SoftwareBitmap

Ruft ein SoftwareBitmap-Objekt ab, das die Bilddaten für videoMediaFrame enthält.

VideoFormat

Ruft ein -Objekt ab, das das Format der VideoMediaFrame-Bilddaten beschreibt.

Methoden

GetVideoFrame()

Erstellt eine Kopie des VideoMediaFrame-Objekts als VideoFrame-Objekt .

Gilt für:

Weitere Informationen