다음을 통해 공유


IMediaSeeking 인터페이스(strmif.h)

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

인터페이스에는 IMediaSeeking 스트림 내의 위치를 찾고 재생 속도를 설정하는 메서드가 포함되어 있습니다. Filter Graph Manager는 이 인터페이스를 노출하므로 개별 필터 또는 핀도 노출됩니다. 애플리케이션은 인터페이스에 대한 필터 그래프 관리자를 쿼리해야 합니다.

Filter Graph Manager는 그래프의 각 렌더러 필터에 대한 IMediaSeeking 호출을 분산합니다. 렌더러 필터는 업스트림 호출을 원본 필터로 보냅니다. 이 이벤트 시퀀스는 모든 스트림이 동기화된 상태로 유지되도록 합니다. 분산 호출이 오류를 반환하는 경우 일부 분산 호출이 성공하더라도 Filter Graph Manager는 받은 첫 번째 오류 값을 반환합니다. 예외는 E_NOTIMPL. 모든 분산 호출에서 반환되지 않는 한 Filter Graph Manager는 E_NOTIMPL 반환하지 않습니다.

그래프가 모든 상태(실행 중, 일시 중지 또는 중지됨)에 있는 동안 애플리케이션에서 그래프를 검색할 수 있습니다. 그래프가 실행 중인 경우 Filter Graph Manager는 seek 명령을 실행하기 전에 그래프를 일시 중지합니다. 그런 다음 그래프를 다시 실행합니다. 모든 검색 작업은 현재 재생 속도와 독립적입니다. 검색 작업을 수행하면 보류 중인 미디어 데이터가 그래프에서 플러시됩니다.

시간을 지정하는 모든 IMediaSeeking 매개 변수의 경우 시간 단위는 현재 시간 형식에 따라 달라집니다. 시간 형식을 설정하려면 IMediaSeeking::SetTimeFormat 메서드를 호출합니다. 시간 형식은 uuids.h에 정의된 GUID(Globally Unique Identifiers)입니다. 자세한 내용은 시간 형식 GUID를 참조하세요.

상속

IMediaSeeking 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IMediaSeeking 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IMediaSeeking 인터페이스에는 이러한 메서드가 있습니다.

 
IMediaSeeking::CheckCapabilities

CheckCapabilities 메서드는 스트림이 검색 기능을 지정했는지 여부를 쿼리합니다.
IMediaSeeking::ConvertTimeFormat

ConvertTimeFormat 메서드는 한 시간 형식에서 다른 형식으로 변환됩니다.
IMediaSeeking::GetAvailable

GetAvailable 메서드는 검색이 효율적인 시간 범위를 검색합니다.
IMediaSeeking::GetCapabilities

GetCapabilities 메서드는 스트림의 모든 검색 기능을 검색합니다.
IMediaSeeking::GetCurrentPosition

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

GetDuration 메서드는 스트림의 기간을 가져옵니다.
IMediaSeeking::GetPositions

GetPositions 메서드는 스트림의 총 기간을 기준으로 현재 위치와 중지 위치를 검색합니다.
IMediaSeeking::GetPreroll

GetPreroll 메서드는 시작 위치 전에 큐에 대기할 데이터의 양을 검색합니다.
IMediaSeeking::GetRate

GetRate 메서드는 재생 속도를 검색합니다.
IMediaSeeking::GetStopPosition

GetStopPosition 메서드는 스트림 기간을 기준으로 재생이 중지되는 시간을 검색합니다.
IMediaSeeking::GetTimeFormat

GetTimeFormat 메서드는 현재 검색 작업에 사용되는 시간 형식을 검색합니다.
IMediaSeeking::IsFormatSupported

IsFormatSupported 메서드는 지정된 시간 형식이 검색 작업에 지원되는지 여부를 결정합니다.
IMediaSeeking::IsUsingTimeFormat

IsUsingTimeFormat 메서드는 seek 작업이 현재 지정된 시간 형식을 사용하고 있는지 여부를 결정합니다.
IMediaSeeking::QueryPreferredFormat

QueryPreferredFormat 메서드는 검색에 대한 기본 설정 시간 형식을 검색합니다.
IMediaSeeking::SetPositions

SetPositions 메서드는 현재 위치와 중지 위치를 설정합니다.
IMediaSeeking::SetRate

SetRate 메서드는 재생 속도를 설정합니다.
IMediaSeeking::SetTimeFormat

SetTimeFormat 메서드는 후속 검색 작업의 시간 형식을 설정합니다.

요구 사항

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

추가 정보

필터 그래프 검색