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.
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.
- 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) |