IMFPMediaPlayer::GetPosition 메서드(mfplay.h)

중요 되지 않는. 이 API는 향후 Windows 릴리스에서 제거될 수 있습니다. 애플리케이션은 재생에 미디어 세션을 사용해야 합니다.
 

현재 재생 위치를 가져옵니다.

구문

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

매개 변수

[in] guidPositionType

재생 위치의 시간 단위를 지정합니다. 다음 값이 정의됩니다.

의미
MFP_POSITIONTYPE_100NS
100나노초 단위.

pvPositionValue에서 반환되는 값은 LARGE_INTEGER.

  • 변형 형식(vt): VT_I8
  • Variant 멤버: hVal

[out] pvPositionValue

재생 위치를 수신하는 PROPVARIANT 에 대한 포인터입니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
S_OK
메서드가 성공했습니다.
E_INVALIDARG
인수가 잘못되었습니다.
MF_E_INVALIDREQUEST
미디어 항목이 큐에 대기되지 않았습니다.
MF_E_SHUTDOWN
개체의 Shutdown 메서드가 호출되었습니다.

설명

재생 위치는 IMFPMediaItem::SetStartStopPosition을 호출하여 지정할 수 있는 미디어 항목의 시작 시간을 기준으로 계산됩니다. 예를 들어 시작 시간을 20초로 설정하고 원본 기간이 60초인 경우 GetPosition 에서 반환되는 값 범위는 0~40초입니다.

예제

다음 코드는 현재 위치(100나노초 단위)를 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;
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 mfplay.h

추가 정보

IMFPMediaPlayer

오디오/비디오 재생에 MFPlay 사용