IMediaSample インターフェイス (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

インターフェイスは IMediaSample 、メディア サンプルのプロパティを設定および取得します。 メディア サンプルは、メディア データのブロックを含む COM オブジェクトです。 メディア サンプルでは、フィルター間での共有メモリ バッファーの使用がサポートされています。

通常、アプリケーションはこのインターフェイスでメソッドを呼び出しません。 フィルターでは、このインターフェイスを使用してサンプルのプロパティを設定し、ダウンストリーム フィルターにサンプルを配信します。 ダウンストリーム フィルターでは、 インターフェイスを使用してプロパティを取得し、データを読み取ります。 フィルターは、データをインプレースで変更することも、サンプルをコピーしたり、コピーを変更したり、下流にコピーを渡したりすることもできます。

IMediaSample2 インターフェイスはこのインターフェイスを継承します。

継承

IMediaSample インターフェイスは、IUnknown インターフェイスから継承されます。 IMediaSample には、次の種類のメンバーもあります。

メソッド

IMediaSample インターフェイスには、これらのメソッドがあります。

 
IMediaSample::GetActualDataLength

GetActualDataLength メソッドは、バッファー内の有効なデータの長さを取得します。
IMediaSample::GetMediaTime

GetMediaTime メソッドは、このサンプルのメディア時間を取得します。
IMediaSample::GetMediaType

GetMediaType メソッドは、メディアの種類が前のサンプルと異なる場合に、メディアの種類を取得します。
IMediaSample::GetPointer

GetPointer メソッドは、メディア サンプルのバッファーへの読み取り/書き込みポインターを取得します。
IMediaSample::GetSize

GetSize メソッドは、バッファーのサイズを取得します。
IMediaSample::GetTime

GetTime メソッドは、このサンプルを開始して終了するストリーム時間を取得します。
IMediaSample::IsDiscontinuity

IsDiscontinuity メソッドは、このサンプルがデータ ストリームの中断を表しているかどうかを判断します。
IMediaSample::IsPreroll

IsPreroll メソッドは、このサンプルがプリロール サンプルであるかどうかを判断します。 プリロール サンプルを表示しないでください。
IMediaSample::IsSyncPoint

IsSyncPoint メソッドは、このサンプルの先頭が同期ポイントであるかどうかを判断します。
IMediaSample::SetActualDataLength

SetActualDataLength メソッドは、バッファー内の有効なデータの長さを設定します。
IMediaSample::SetDiscontinuity

SetDiscontinuity メソッドは、このサンプルがデータ ストリームの中断を表すかどうかを指定します。
IMediaSample::SetMediaTime

SetMediaTime メソッドは、このサンプルのメディア時間を設定します。
IMediaSample::SetMediaType

SetMediaType メソッドは、サンプルのメディアの種類を設定します。
IMediaSample::SetPreroll

SetPreroll メソッドは、このサンプルがプリロール サンプルかどうかを指定します。
IMediaSample::SetSyncPoint

SetSyncPoint メソッドは、このサンプルの先頭が同期ポイントであるかどうかを指定します。
IMediaSample::SetTime

SetTime メソッドは、このサンプルを開始して終了するストリーム時間を設定します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)