Freigeben über


IMediaSeeking-Schnittstelle (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die IMediaSeeking Schnittstelle enthält Methoden zum Suchen nach einer Position innerhalb eines Streams und zum Festlegen der Wiedergaberate. Der Filter Graph-Manager macht diese Schnittstelle verfügbar, ebenso wie einzelne Filter oder Pins. Anwendungen sollten den Filter Graph-Manager für die Schnittstelle abfragen.

Der Filter Graph-Manager verteilt jeden IMediaSeeking Aufruf an die einzelnen Rendererfilter im Graphen. Die Rendererfilter senden den Aufruf Upstream an die Quellfilter. Diese Abfolge von Ereignissen stellt sicher, dass alle Datenströme synchronisiert bleiben. Wenn einer der verteilten Aufrufe einen Fehler zurückgibt, gibt der Filter Graph-Manager den ersten empfangenen Fehlerwert zurück, auch wenn einige der verteilten Aufrufe erfolgreich sind. Eine Ausnahme ist E_NOTIMPL: Der Filter Graph-Manager gibt nur dann E_NOTIMPL zurück, wenn er von allen verteilten Aufrufen zurückgegeben wurde.

Eine Anwendung kann das Diagramm suchen, während sich der Graph in einem beliebigen Zustand befindet (wird ausgeführt, angehalten oder beendet). Wenn das Diagramm ausgeführt wird, hält der Filter graph-Manager das Diagramm an, bevor er den Seek-Befehl ausgibt. Anschließend wird der Graph erneut ausgeführt. Alle Suchvorgänge sind unabhängig von der aktuellen Wiedergaberate. Suchvorgänge führen dazu, dass alle ausstehenden Mediendaten aus dem Diagramm geleert werden.

Für alle IMediaSeeking Parameter, die die Zeit angeben, hängt die Zeiteinheit vom aktuellen Zeitformat ab. Rufen Sie zum Festlegen des Zeitformats die IMediaSeeking::SetTimeFormat-Methode auf. Zeitformate sind global eindeutige Bezeichner (GUIDs), die in uuids.h definiert sind. Weitere Informationen finden Sie unter Zeitformat-GUIDs.

Vererbung

Die IMediaSeeking-Schnittstelle erbt von der IUnknown-Schnittstelle . IMediaSeeking verfügt auch über folgende Membertypen:

Methoden

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

 
IMediaSeeking::CheckCapabilities

Die CheckCapabilities-Methode fragt ab, ob ein Stream über angegebene Suchfunktionen verfügt.
IMediaSeeking::ConvertTimeFormat

Die ConvertTimeFormat-Methode konvertiert ein Zeitformat in ein anderes.
IMediaSeeking::GetAvailable

Die GetAvailable-Methode ruft den Zeitraum ab, in dem die Suche effizient ist.
IMediaSeeking::GetCapabilities

Die GetCapabilities-Methode ruft alle Suchfunktionen des Streams ab.
IMediaSeeking::GetCurrentPosition

Die GetCurrentPosition-Methode ruft die aktuelle Position relativ zur Gesamtdauer des Datenstroms ab.
IMediaSeeking::GetDuration

Die GetDuration-Methode ruft die Dauer des Datenstroms ab.
IMediaSeeking::GetPositions

Die GetPositions-Methode ruft die aktuelle Position und die Stoppposition relativ zur Gesamtdauer des Datenstroms ab.
IMediaSeeking::GetPreroll

Die GetPreroll-Methode ruft die Datenmenge ab, die vor der Startposition in die Warteschlange eingereiht wird.
IMediaSeeking::GetRate

Die GetRate-Methode ruft die Wiedergaberate ab.
IMediaSeeking::GetStopPosition

Die GetStopPosition-Methode ruft den Zeitpunkt ab, zu dem die Wiedergabe beendet wird, relativ zur Dauer des Datenstroms.
IMediaSeeking::GetTimeFormat

Die GetTimeFormat-Methode ruft das Zeitformat ab, das derzeit für Suchvorgänge verwendet wird.
IMediaSeeking::IsFormatSupported

Die IsFormatSupported-Methode bestimmt, ob ein angegebenes Zeitformat für Suchvorgänge unterstützt wird.
IMediaSeeking::IsUsingTimeFormat

Die IsUsingTimeFormat-Methode bestimmt, ob Suchvorgänge derzeit ein angegebenes Zeitformat verwenden.
IMediaSeeking::QueryPreferredFormat

Die QueryPreferredFormat-Methode ruft das bevorzugte Zeitformat für die Suche ab.
IMediaSeeking::SetPositions

Die SetPositions-Methode legt die aktuelle Position und die Stoppposition fest.
IMediaSeeking::SetRate

Die SetRate-Methode legt die Wiedergaberate fest.
IMediaSeeking::SetTimeFormat

Die SetTimeFormat-Methode legt das Zeitformat für nachfolgende Suchvorgänge fest.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)

Weitere Informationen

Suchen nach dem Filtergraphen