IMFSample-Schnittstelle (mfobjects.h)

Stellt ein Medienbeispiel dar, bei dem es sich um ein Containerobjekt für Mediendaten handelt. Für Videos enthält ein Beispiel in der Regel einen Videoframe. Für Audiodaten enthält ein Beispiel in der Regel mehrere Audiobeispiele anstelle eines einzelnen Audiobeispiels.

Ein Medienbeispiel enthält null oder mehr Puffer. Jeder Puffer verwaltet einen Speicherblock und wird durch die IMFMediaBuffer-Schnittstelle dargestellt. Ein Beispiel kann mehrere Puffer aufweisen. Die Puffer werden in einer geordneten Liste aufbewahrt und über den Indexwert aufgerufen. Es ist auch gültig, dass ein leeres Beispiel ohne Puffer vorhanden ist.

Vererbung

Die IMFSample-Schnittstelle erbt von IMFAttributes. IMFSample verfügt auch über folgende Membertypen:

Methoden

Die IMFSample-Schnittstelle verfügt über diese Methoden.

 
IMFSample::AddBuffer

Fügt am Ende der Liste der Puffer im Beispiel einen Puffer hinzu.
IMFSample::ConvertToContiguousBuffer

Konvertiert ein Beispiel mit mehreren Puffern in ein Beispiel mit einem einzelnen Puffer.
IMFSample::CopyToBuffer

Kopiert die Beispieldaten in einen Puffer. Diese Methode verkettet die gültigen Daten aus allen Puffern des Beispiels in der reihenfolge.
IMFSample::GetBufferByIndex

Ruft einen Puffer aus dem Beispiel nach Index ab.
IMFSample::GetBufferCount

Ruft die Anzahl der Puffer im Beispiel ab.
IMFSample::GetSampleDuration

Ruft die Dauer des Beispiels ab.
IMFSample::GetSampleFlags

Ruft flags ab, die dem Beispiel zugeordnet sind. Derzeit sind keine Flags definiert.
IMFSample::GetSampleTime

Ruft die Präsentationszeit des Beispiels ab.
IMFSample::GetTotalLength

Ruft die Gesamtlänge der gültigen Daten in allen Puffern im Beispiel ab. Die Länge wird als Summe der Von der IMFMediaBuffer::GetCurrentLength-Methode abgerufenen Werte berechnet.
IMFSample::RemoveAllBuffers

Entfernt alle Puffer aus dem Beispiel.
IMFSample::RemoveBufferByIndex

Entfernt einen Puffer an einem angegebenen Index aus dem Beispiel.
IMFSample::SetSampleDuration

Legt die Dauer des Beispiels fest.
IMFSample::SetSampleFlags

Legt dem Beispiel zugeordnete Flags fest. Derzeit sind keine Flags definiert.
IMFSample::SetSampleTime

Legt die Präsentationszeit des Beispiels fest.

Hinweise

Um ein neues Medienbeispiel zu erstellen, rufen Sie MFCreateSample auf.

Hinweis  

Wenn Sie CopyAllItems aufrufen, geerbt von der IMFAttributes-Schnittstelle, werden die Beispielzeit, Dauer und Flags nicht in das Zielbeispiel kopiert. Sie müssen diese Werte manuell in das neue Beispiel kopieren.

 
Diese Schnittstelle ist auf den folgenden Plattformen verfügbar, wenn die verteilbaren Windows Media Format 11 SDK-Komponenten installiert sind:
  • Windows XP mit Service Pack 2 (SP2) und höher.
  • Windows XP Media Center Edition 2005 mit KB900325 (Windows XP Media Center Edition 2005) und KB925766 (Updaterollup für Windows XP Media Center Edition vom Oktober 2006) installiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfobjects.h (include Mfidl.h)

Weitere Informationen

IMFAttributes

Media Foundation-Schnittstellen

Medienbeispiele

Beispielattribute