Condividi tramite


Metodo IMediaSeeking::GetCurrentPosition (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il GetCurrentPosition metodo recupera la posizione corrente, rispetto alla durata totale del flusso.

Sintassi

HRESULT GetCurrentPosition(
  [out] LONGLONG *pCurrent
);

Parametri

[out] pCurrent

Puntatore a una variabile che riceve la posizione corrente, in unità del formato ora corrente.

Valore restituito

Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.

Codice restituito Descrizione
S_OK
Operazione completata.
E_NOTIMPL
Il metodo non è supportato.
E_POINTER
Argomento puntatore NULL.

Commenti

Questo metodo restituisce la posizione corrente raggiunta dalla riproduzione. Il valore include le regolazioni per la frequenza di riproduzione e l'ora di inizio. Ad esempio, se l'ora di inizio è 5 secondi, la frequenza di riproduzione è 2,0 e si esegue il grafico per quattro secondi, la posizione corrente è 5 + (4 x 2,0) = 13,0 secondi.

Il valore restituito è espresso in unità del formato ora corrente. Per determinare il formato ora corrente, chiamare il metodo GetTimeFormat .

Se il grafico viene sospeso o arrestato, la posizione corrente è il punto in cui verrà ripresa la riproduzione.

Filter Graph Manager calcola la posizione dal tempo di flusso corrente; non esegue query sui filtri nel grafico. Per la riproduzione dei file, questo restituisce un risultato accurato, perché la riproduzione viene sincronizzata con il tempo di flusso. Per la scrittura di file, i risultati non sono accurati. Per ottenere la posizione corrente in un grafico di scrittura file, eseguire una query sul filtro multiplexer. La posizione non è rilevante per l'acquisizione in tempo reale.

Il valore restituito è espresso nel formato ora corrente. Il formato ora predefinito è REFERENCE_TIME unità (100 nanosecondi). Per modificare i formati di tempo, usare il metodo IMediaSeeking::SetTimeFormat .

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici errore e esito positivo

Interfaccia IMediaSeeking