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
- Наследование
- Атрибуты
Требования к 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 . |