Share via


Método IMFPMediaPlayer::GetPosition (mfplay.h)

Importante Obsoleto. Esta API se puede quitar de futuras versiones de Windows. Las aplicaciones deben usar la sesión multimedia para la reproducción.
 

Obtiene la posición de reproducción actual.

Sintaxis

HRESULT GetPosition(
  [in]  REFGUID     guidPositionType,
  [out] PROPVARIANT *pvPositionValue
);

Parámetros

[in] guidPositionType

Especifica la unidad de tiempo para la posición de reproducción. Se define el siguiente valor.

Valor Significado
MFP_POSITIONTYPE_100NS
Unidades de 100 nanosegundos.

El valor devuelto en pvPositionValue es un LARGE_INTEGER.

  • Tipo de variante (vt): VT_I8
  • Miembro variant: hVal

[out] pvPositionValue

Puntero a un PROPVARIANT que recibe la posición de reproducción.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_INVALIDARG
Argumento no válido.
MF_E_INVALIDREQUEST
No se ha puesto en cola ningún elemento multimedia.
MF_E_SHUTDOWN
Se llamó al método Shutdown del objeto.

Comentarios

La posición de reproducción se calcula en relación con la hora de inicio del elemento multimedia, que se puede especificar mediante una llamada a IMFPMediaItem::SetStartStopPosition. Por ejemplo, si establece la hora de inicio en 20 segundos y la duración del origen es de 60 segundos, el intervalo de valores devueltos por GetPosition es de 0 a 40 segundos.

Ejemplos

El código siguiente obtiene la posición actual, en unidades de 100 nanosegundos, como un valor LONGLONG .

HRESULT GetPositionHNS(
    IMFPMediaPlayer *pPlayer, 
    LONGLONG *phnsPosition    // Receives the position in hns.
)
{
    HRESULT hr = S_OK;

    PROPVARIANT var;
    PropVariantInit(&var);

    *phnsPosition = 0;

    hr = pPlayer->GetPosition(MFP_POSITIONTYPE_100NS, &var);

    if (SUCCEEDED(hr))
    {
        *phnsPosition = var.hVal.QuadPart;
    }

    PropVariantClear(&var);
    return hr;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mfplay.h

Consulte también

IMFPMediaPlayer

Uso de MFPlay para la reproducción de audio y vídeo