Compartilhar via


Método IMediaSeeking::GetCurrentPosition (strmif.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O GetCurrentPosition método recupera a posição atual, em relação à duração total do fluxo.

Sintaxe

HRESULT GetCurrentPosition(
  [out] LONGLONG *pCurrent
);

Parâmetros

[out] pCurrent

Ponteiro para uma variável que recebe a posição atual, em unidades do formato de hora atual.

Retornar valor

Retorna um valor HRESULT . Os possíveis valores incluem os seguintes.

Código de retorno Descrição
S_OK
Êxito.
E_NOTIMPL
Não há suporte para o método .
E_POINTER
Argumento de ponteiro NULL.

Comentários

Esse método retorna a posição atual que a reprodução atingiu. O valor inclui ajustes para a taxa de reprodução e a hora de início. Por exemplo, se a hora de início for de 5 segundos, a taxa de reprodução será de 2,0 e você executar o grafo por quatro segundos, a posição atual será 5 + (4 x 2,0) = 13,0 segundos.

O valor retornado é expresso em unidades do formato de hora atual. Para determinar o formato de hora atual, chame o método GetTimeFormat .

Se o grafo for pausado ou interrompido, a posição atual será o ponto no qual a reprodução será retomada.

O Gerenciador de Grafo de Filtro calcula a posição do tempo de fluxo atual; ele não consulta os filtros no grafo. Para a reprodução de arquivo, isso gera um resultado preciso, pois a reprodução é sincronizada com o tempo de fluxo. Para gravação de arquivo, os resultados não são precisos. Para obter a posição atual em um grafo de gravação de arquivo, consulte o filtro multiplexer. (No entanto, a posição não é relevante para captura dinâmica.)

O valor retornado é expresso no formato de hora atual. O formato de hora padrão é REFERENCE_TIME unidades (100 nanossegundos). Para alterar os formatos de hora, use o método IMediaSeeking::SetTimeFormat .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho strmif.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IMediaSeeking Interface