다음을 통해 공유


IMediaSeeking::GetCurrentPosition 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 GetCurrentPosition 스트림의 총 기간을 기준으로 현재 위치를 검색합니다.

구문

HRESULT GetCurrentPosition(
  [out] LONGLONG *pCurrent
);

매개 변수

[out] pCurrent

현재 시간 형식의 단위로 현재 위치를 수신하는 변수에 대한 포인터입니다.

반환 값

HRESULT 값을 반환합니다. 가능한 값은 다음과 같습니다.

반환 코드 Description
S_OK
성공.
E_NOTIMPL
메서드는 지원되지 않습니다.
E_POINTER
NULL 포인터 인수입니다.

설명

이 메서드는 재생에 도달한 현재 위치를 반환합니다. 이 값에는 재생 속도 및 시작 시간에 대한 조정이 포함됩니다. 예를 들어 시작 시간이 5초이고 재생 속도가 2.0이고 그래프를 4초 동안 실행하는 경우 현재 위치는 5 + (4 x 2.0) = 13.0초입니다.

반환된 값은 현재 시간 형식의 단위로 표현됩니다. 현재 시간 형식을 확인하려면 GetTimeFormat 메서드를 호출합니다.

그래프가 일시 중지되거나 중지된 경우 현재 위치는 재생이 다시 시작되는 지점입니다.

Filter Graph Manager는 현재 스트림 시간의 위치를 계산합니다. 그래프의 필터를 쿼리하지 않습니다. 파일 재생의 경우 재생이 스트림 시간과 동기화되기 때문에 정확한 결과가 생성됩니다. 파일 쓰기의 경우 결과가 정확하지 않습니다. 파일 작성 그래프에서 현재 위치를 얻으려면 멀티플렉서 필터를 쿼리합니다. 그러나 위치는 라이브 캡처와 관련이 없습니다.

반환된 값은 현재 시간 형식으로 표현됩니다. 기본 시간 형식은 REFERENCE_TIME 단위(100나노초)입니다. 시간 형식을 변경하려면 IMediaSeeking::SetTimeFormat 메서드를 사용합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IMediaSeeking 인터페이스