IMediaDet 인터페이스
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
참고
[더 이상 사용되지 않습니다. 이 API는 이후 Windows 릴리스에서 제거될 수 있습니다.]
인터페이스는 IMediaDet
스트림 수, 각 스트림의 미디어 유형, 기간 및 프레임 속도와 같은 미디어 파일에 대한 정보를 검색합니다. 또한 비디오 스트림에서 개별 프레임을 검색하는 메서드도 포함되어 있습니다.
MediaDet(Media Detector) 개체는 이 인터페이스를 노출합니다.
이 인터페이스를 사용하여 파일에 대한 정보를 가져오려면 다음 단계를 수행합니다.
- CoCreateInstance를 호출하여 MediaDet 개체의 instance 만듭니다. 클래스 ID가 CLSID_MediaDet.
- IMediaDet::p ut_Filename을 호출하여 원본 파일의 이름을 지정합니다.
- IMediaDet::get_OutputStreams 호출하여 원본의 출력 스트림 수를 가져옵니다.
- IMediaDet::p ut_CurrentStream을 호출하여 특정 스트림을 지정합니다.
- 다음 방법 중에서 호출합니다.
비디오 프레임을 검색하려면 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 사용할 수 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|