Share via


검색 기능 쿼리

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

Microsoft® DirectShow®는 IMediaSeeking 인터페이스를 통한 검색을 지원합니다. Filter Graph Manager는 이 인터페이스를 노출하지만 검색 기능은 항상 그래프의 필터에 의해 구현됩니다.

일부 데이터는 검색할 수 없습니다. 예를 들어 카메라에서 라이브 비디오 스트림을 검색할 수 없습니다. 그러나 스트림을 검색할 수 있는 경우 다양한 유형의 검색이 지원될 수 있습니다. 여기에는 다음이 포함됩니다.

  • 스트림에서 임의의 위치를 찾습니다.
  • 스트림의 기간을 검색합니다.
  • 스트림 내에서 현재 위치 검색
  • 반대로 재생합니다.

IMediaSeeking 인터페이스는 가능한 검색 기능을 설명하는 플래그 집합(AM_SEEKING_SEEKING_CAPABILITIES)을 정의합니다. 스트림의 기능을 검색하려면 IMediaSeeking::GetCapabilities 메서드를 호출합니다. 메서드는 플래그의 비트 조합을 반환합니다. 애플리케이션은 &(비트 AND) 연산자를 사용하여 테스트할 수 있습니다. 예를 들어 다음 코드는 그래프가 임의의 위치를 검색할 수 있는지 여부를 검사.

DWORD dwCap = 0;
HRESULT hr = pSeek->GetCapabilities(&dwCap);
if (AM_SEEKING_CanSeekAbsolute & dwCap)
{
    // Graph can seek to absolute positions.
}