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

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El GetCurrentPosition método recupera la posición actual, en relación con la duración total de la secuencia.

Sintaxis

HRESULT GetCurrentPosition(
  [out] LONGLONG *pCurrent
);

Parámetros

[out] pCurrent

Puntero a una variable que recibe la posición actual, en unidades del formato de hora actual.

Valor devuelto

Devuelve un valor HRESULT . Estos son algunos de los valores posibles.

Código devuelto Descripción
S_OK
Correcto.
E_NOTIMPL
No se admite el método .
E_POINTER
Argumento de puntero NULL.

Comentarios

Este método devuelve la posición actual que ha alcanzado la reproducción. El valor incluye ajustes para la velocidad de reproducción y la hora de inicio. Por ejemplo, si la hora de inicio es de 5 segundos, la velocidad de reproducción es de 2,0 y ejecuta el gráfico durante cuatro segundos, la posición actual es de 5 + (4 x 2,0) = 13,0 segundos.

El valor devuelto se expresa en unidades del formato de hora actual. Para determinar el formato de hora actual, llame al método GetTimeFormat .

Si el gráfico está en pausa o detenido, la posición actual es el punto en el que se reanudará la reproducción.

El Administrador de gráficos de filtros calcula la posición de la hora actual de la secuencia; no consulta los filtros en el gráfico. Para la reproducción de archivos, esto produce un resultado preciso, ya que la reproducción se sincroniza con el tiempo de transmisión. En el caso de la escritura de archivos, los resultados no son precisos. Para obtener la posición actual en un gráfico de escritura de archivos, consulte el filtro de multiplexador. (La posición no es relevante para la captura en vivo, sin embargo).

El valor devuelto se expresa en el formato de hora actual. El formato de hora predeterminado es REFERENCE_TIME unidades (100 nanosegundos). Para cambiar los formatos de hora, use el método IMediaSeeking::SetTimeFormat .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado strmif.h (incluya Dshow.h)
Library Strmiids.lib

Consulte también

Códigos de error y éxito

IMediaSeeking (interfaz)