Интерфейс IMFSample (mfobjects.h)

Представляет образец носителя, который является объектом контейнера для данных мультимедиа. Для видео пример обычно содержит один видеокадр. Для звуковых данных пример обычно содержит несколько примеров звука, а не один образец звука.

Пример носителя содержит ноль или больше буферов. Каждый буфер управляет блоком памяти и представлен интерфейсом IMFMediaBuffer . Пример может содержать несколько буферов. Буферы хранятся в упорядоченном списке и доступны по значению индекса. Также допустимо иметь пустую выборку без буферов.

Наследование

Интерфейс IMFSample наследуется от IMFAttributes. IMFSample также имеет следующие типы членов:

Методы

Интерфейс IMFSample имеет следующие методы.

 
IMFSample::AddBuffer

Добавляет буфер в конец списка буферов в примере.
IMFSample::ConvertToContiguousBuffer

Преобразует образец с несколькими буферами в образец с одним буфером.
IMFSample::CopyToBuffer

Копирует образец данных в буфер. Этот метод объединяет допустимые данные из всех буферов образца по порядку.
IMFSample::GetBufferByIndex

Получает буфер из примера по индексу.
IMFSample::GetBufferCount

Извлекает количество буферов в образце.
IMFSample::GetSampleDuration

Извлекает длительность образца.
IMFSample::GetSampleFlags

Извлекает флаги, связанные с примером. В настоящее время флаги не определены.
IMFSample::GetSampleTime

Извлекает время презентации примера.
IMFSample::GetTotalLength

Извлекает общую длину допустимых данных во всех буферах в образце. Длина вычисляется как сумма значений, полученных методом IMFMediaBuffer::GetCurrentLength.
IMFSample::RemoveAllBuffers

Удаляет все буферы из примера.
IMFSample::RemoveBufferByIndex

Удаляет из образца буфер по указанному индексу.
IMFSample::SetSampleDuration

Задает длительность выборки.
IMFSample::SetSampleFlags

Задает флаги, связанные с примером. В настоящее время флаги не определены.
IMFSample::SetSampleTime

Задает время презентации примера.

Комментарии

Чтобы создать пример мультимедиа, вызовите MFCreateSample.

Примечание  

При вызове CopyAllItems, наследуемого от интерфейса IMFAttributes , в imfSample время выборки, длительность и флаги не копируются в целевой пример. Эти значения необходимо скопировать в новый пример вручную.

 
Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK формата 11 для Windows Media:
  • Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
  • Windows XP Media Center Edition 2005 с установленным KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления для Windows XP Media Center Edition за октябрь 2006 г.).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfobjects.h (включая Mfidl.h)

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

IMFAttributes

Интерфейсы Media Foundation

Примеры мультимедиа

Пример атрибутов