다음을 통해 공유


IMediaDet 인터페이스

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

참고

[더 이상 사용되지 않습니다. 이 API는 이후 Windows 릴리스에서 제거될 수 있습니다.]

 

인터페이스는 IMediaDet 스트림 수, 각 스트림의 미디어 유형, 기간 및 프레임 속도와 같은 미디어 파일에 대한 정보를 검색합니다. 또한 비디오 스트림에서 개별 프레임을 검색하는 메서드도 포함되어 있습니다. MediaDet(Media Detector) 개체는 이 인터페이스를 노출합니다.

이 인터페이스를 사용하여 파일에 대한 정보를 가져오려면 다음 단계를 수행합니다.

  1. CoCreateInstance를 호출하여 MediaDet 개체의 instance 만듭니다. 클래스 ID가 CLSID_MediaDet.
  2. IMediaDet::p ut_Filename을 호출하여 원본 파일의 이름을 지정합니다.
  3. IMediaDet::get_OutputStreams 호출하여 원본의 출력 스트림 수를 가져옵니다.
  4. IMediaDet::p ut_CurrentStream을 호출하여 특정 스트림을 지정합니다.
  5. 다음 방법 중에서 호출합니다.

비디오 프레임을 검색하려면 IMediaDet::GetBitmapBits 또는 IMediaDet::WriteBitmapBits를 호출합니다. 반환된 프레임은 항상 24비트 RGB 형식입니다.

참고

여러 파일에서 동일한 MediaDet 개체를 사용하지 마세요. 둘 이상의 파일에서 정보 또는 비디오 프레임을 얻으려면 별도의 MediaDet 인스턴스를 사용합니다.

 

IMediaDet 인터페이스는 VIDEOINFOHEADER2 형식을 지원하지 않으므로 이 인터페이스를 사용하여 인터레이스 필드 또는 인터레이싱에 대한 정보를 가져올 수 없습니다. 또한 업스트림 디코더가 VIDEOINFOHEADER2만 지원하는 경우 를 사용할 IMediaDet수 없습니다. 예를 들어 MPEG-2 디코더의 경우일 수 있습니다. 또한 인터페이스는 IMediaDet 비디오 또는 오디오가 아닌 파일의 모든 스트림을 무시합니다. 예를 들어 파일에 오디오 스트림, 데이터 스트림 및 비디오 스트림이 포함된 경우 get_OutputStreams 메서드는 두 개의 스트림(오디오 및 비디오)만 보고합니다.

멤버

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

메서드

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

메서드 Description
EnterBitmapGrabMode 미디어 감지기를 비트맵 잡기 모드로 전환하고 필터 그래프를 지정된 시간으로 찾습니다.
get_CurrentStream 미디어 감지기에서 현재 사용되는 스트림 번호를 검색합니다.
get_Filename 미디어 감지기에서 현재 사용되는 원본 파일의 이름을 검색합니다.
get_Filter 미디어 감지기에서 현재 사용되는 원본 필터에 대한 포인터를 검색합니다.
get_FrameRate 현재 스트림의 프레임 속도를 검색합니다.
get_OutputStreams 미디어 원본에 포함된 오디오 및 비디오 스트림 수를 검색합니다.
get_StreamLength 현재 스트림의 기간을 검색합니다.
get_StreamMediaType 현재 스트림의 미디어 형식을 검색합니다.
get_StreamType 현재 스트림의 미디어 형식에 대한 GUID(Globally Unique Identifier)를 검색합니다.
get_StreamTypeB 현재 스트림에 대한 미디어 형식의 GUID를 나타내는 문자열을 검색합니다.
GetBitmapBits 지정된 미디어 시간에 비디오 프레임을 검색합니다.
GetSampleGrabber ISampleGrabber 인터페이스에 대한 포인터를 검색합니다.
put_CurrentStream 미디어 감지기에서 사용할 스트림 번호를 지정합니다.
put_Filename 미디어 감지기에서 사용할 원본 파일의 이름을 지정합니다.
put_Filter 사용할 미디어 감지기의 원본 필터를 지정합니다.
WriteBitmapBits 지정된 미디어 시간에 비디오 프레임을 검색하여 파일에 씁니다.

 

설명

참고

헤더 파일 Qedit.h는 버전 7 이후의 Direct3D 헤더와 호환되지 않습니다.

 

참고

Qedit.h를 얻으려면 Windows Vista용 Microsoft Windows SDK 업데이트를 다운로드하고 3.0을 .NET Framework. Qedit.h는 Windows 7 및 .NET Framework 3.5 서비스 팩 1용 Microsoft Windows SDK 사용할 수 없습니다.

 

요구 사항

요구 사항
헤더
Qedit.h
라이브러리
Strmiids.lib