IMediaDet インターフェイス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
注意
[非推奨。 この API は、Windows の今後のリリースから削除される可能性があります。
インターフェイスは IMediaDet
、ストリームの数、各ストリームのメディアの種類、期間、フレーム レートなど、メディア ファイルに関する情報を取得します。 また、ビデオ ストリームから個々のフレームを取得するためのメソッドも含まれています。
Media Detector (MediaDet) オブジェクトは、このインターフェイスを公開します。
このインターフェイスを使用してファイルに関する情報を取得するには、次の手順を実行します。
- CoCreateInstance を呼び出して MediaDet オブジェクトのインスタンスを作成します。 クラス 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 メソッドは 2 つのストリーム (オーディオとビデオ) のみを報告します。
メンバー
IMediaDet インターフェイスは、IUnknown インターフェイスから継承されます。 IMediaDet には、次の種類のメンバーもあります。
メソッド
IMediaDet インターフェイスには、これらのメソッドがあります。
メソッド | 説明 |
---|---|
EnterBitmapGrabMode | メディア検出機能をビットマップ グラブ モードに切り替え、フィルター グラフを指定した時間にシークします。 |
get_CurrentStream | メディア検出機能で現在使用されているストリーム番号を取得します。 |
get_Filename | メディア検出機能で現在使用されているソース ファイルの名前を取得します。 |
get_Filter | メディア検出機能で現在使用されているソース フィルターへのポインターを取得します。 |
get_FrameRate | 現在のストリームのフレーム レートを取得します。 |
get_OutputStreams | メディア ソースに含まれるオーディオ ストリームとビデオ ストリームの数を取得します。 |
get_StreamLength | 現在のストリームの期間を取得します。 |
get_StreamMediaType | 現在のストリームのメディアの種類を取得します。 |
get_StreamType | 現在のストリームのメディアの種類のグローバル一意識別子 (GUID) を取得します。 |
get_StreamTypeB | 現在のストリームのメディアの種類の GUID を表す文字列を取得します。 |
GetBitmapBits | 指定したメディア時刻にビデオ フレームを取得します。 |
GetSampleGrabber |
ISampleGrabber インターフェイスへのポインターを取得します。 |
put_CurrentStream | 使用するメディア検出器のストリーム番号を指定します。 |
put_Filename | メディア検出機能で使用するソース ファイルの名前を指定します。 |
put_Filter | 使用するメディア検出機能のソース フィルターを指定します。 |
WriteBitmapBits | 指定したメディア時刻にビデオ フレームを取得し、ファイルに書き込みます。 |
解説
注意
ヘッダー ファイル Qedit.h は、バージョン 7 より後の Direct3D ヘッダーと互換性がありません。
注意
Qedit.h を入手するには、Windows Vista および .NET Framework 3.0 のMicrosoft Windows SDK Update をダウンロードします。 Qedit.h は、Windows 7 および .NET Framework 3.5 Service Pack 1 のMicrosoft Windows SDKでは使用できません。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|