IMediaSeeking::GetCurrentPosition-Methode (strmif.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die GetCurrentPosition
-Methode ruft die aktuelle Position relativ zur Gesamtdauer des Datenstroms ab.
HRESULT GetCurrentPosition(
[out] LONGLONG *pCurrent
);
[out] pCurrent
Zeiger auf eine Variable, die die aktuelle Position in Einheiten des aktuellen Zeitformats empfängt.
Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Die Methode wird nicht unterstützt. |
|
NULL-Zeigerargument. |
Diese Methode gibt die aktuelle Position zurück, die die Wiedergabe erreicht hat. Der Wert enthält Anpassungen für die Wiedergaberate und die Startzeit. Wenn die Startzeit beispielsweise 5 Sekunden beträgt, die Wiedergaberate 2,0 beträgt und Sie das Diagramm vier Sekunden lang ausführen, ist die aktuelle Position 5 + (4 x 2,0) = 13,0 Sekunden.
Der zurückgegebene Wert wird in Einheiten des aktuellen Zeitformats ausgedrückt. Um das aktuelle Zeitformat zu bestimmen, rufen Sie die GetTimeFormat-Methode auf.
Wenn das Diagramm angehalten oder beendet wird, ist die aktuelle Position der Punkt, an dem die Wiedergabe fortgesetzt wird.
Der Filtergraph-Manager berechnet die Position aus der aktuellen Streamzeit. Die Filter im Diagramm werden nicht abfragt. Bei der Dateiwiedergabe ergibt dies ein genaues Ergebnis, da die Wiedergabe mit der Streamzeit synchronisiert wird. Beim Schreiben von Dateien sind die Ergebnisse nicht korrekt. Um die aktuelle Position in einem Graphen zum Schreiben von Dateien abzurufen, fragen Sie den Multiplexerfilter ab. (Die Position ist für die Liveerfassung jedoch nicht relevant.)
Der zurückgegebene Wert wird im aktuellen Zeitformat ausgedrückt. Das Standardzeitformat ist REFERENCE_TIME Einheiten (100 Nanosekunden). Verwenden Sie zum Ändern von Zeitformaten die IMediaSeeking::SetTimeFormat-Methode .
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) |
Bibliothek | Strmiids.lib |