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


Интерфейс 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

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

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