Поделиться через


VideoMediaFrame Класс

Определение

Представляет кадр из MediaFrameSource , который предоставляет данные в видеокадре, представленном IDirect3DSurface или SoftwareBitmap.

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)

Комментарии

Получение экземпляра этого класса путем доступа к свойству VideoMediaFrame объекта MediaFrameReference , полученного из источника кадра мультимедиа.

Важно!

Если вы осуществляете доступ к объектам SoftwareBitmap или Direct3DSurface, предоставляемым свойством VideoMediaFrame класса MediaFrameReference, система создает строгую ссылку на эти объекты, что означает, что они не будут удален при вызове метода Dispose в содержащем классе MediaFrameReference. Необходимо явно вызвать метод Dispose класса SoftwareBitmap или Direct3DSurface непосредственно для объектов, чтобы немедленно удалить их. В противном случае сборщик мусора в конечном итоге освободит память для этих объектов, однако узнать, когда это произойдет, невозможно, и если количество выделенных растровых изображений или поверхностей превышает максимальное количество, разрешенное системой, поток новых кадров будет остановлен. В том же мышлении, если вы вызвали (GetVideoFrame())[videomediaframe_getvideoframe_824740069.md], то (VideoFrame)[.. Извлеченный файл /windows.media/videoframe.md] содержит ссылку на объекты SoftwareBitmap или Direct3DSurface , предоставляемые VideoMediaFrame, и его необходимо удалить, вызвав вручную его метод Dispose , чтобы избежать блокировки кадров. Если вы планируете хранить видеофейм, полученный с помощью (GetVideoFrame())[videomediaframe_getvideoframe_824740069.md], в течение длительного периода времени, лучше сохранить его копию.

Инструкции по использованию MediaFrameSource для захвата кадров см. в разделе Обработка кадров мультимедиа с помощью MediaFrameReader.

Свойства

CameraIntrinsics

Возвращает объект , описывающий модель искажения камеры, создающей VideoMediaFrame.

DepthMediaFrame

Возвращает элемент DepthMediaFrame , содержащий данные глубины для VideoMediaFrame, если кадр содержит данные глубины.

Direct3DSurface

Возвращает объект IDirect3DSurface , содержащий данные изображения для VideoMediaFrame.

FrameReference

Возвращает объект-оболочку MediaFrameReference , связанный с VideoMediaFrame, который предоставляет доступ к сведениям о форматировании и другим свойствам кадра мультимедиа.

InfraredMediaFrame

Возвращает элемент InfraredMediaFrame , содержащий данные глубины для VideoMediaFrame, если кадр содержит инфракрасные данные.

SoftwareBitmap

Возвращает объект SoftwareBitmap, содержащий данные изображения для VideoMediaFrame.

VideoFormat

Возвращает объект , описывающий формат данных изображения VideoMediaFrame .

Методы

GetVideoFrame()

Создает копию VideoMediaFrame в виде объекта VideoFrame .

Применяется к

См. также раздел