IMFSample インターフェイス (mfobjects.h)
メディア データのコンテナー オブジェクトであるメディア サンプルを表します。 ビデオの場合、サンプルには通常、1 つのビデオ フレームが含まれます。 オーディオ データの場合、サンプルには通常、オーディオの 1 つのサンプルではなく、複数のオーディオ サンプルが含まれます。
メディア サンプルには、0 個以上のバッファーが含まれています。 各バッファーはメモリ ブロックを管理し、 IMFMediaBuffer インターフェイスによって表されます。 サンプルには複数のバッファーを含めることができます。 バッファーは順序付きリストに保持され、インデックス値によってアクセスされます。 バッファーのない空のサンプルを持つことも有効です。
継承
IMFSample インターフェイスは、IMFAttributes から継承されます。 IMFSample には、次の種類のメンバーもあります。
メソッド
IMFSample インターフェイスには、これらのメソッドがあります。
IMFSample::AddBuffer サンプル内のバッファーの一覧の末尾にバッファーを追加します。 |
IMFSample::ConvertToContiguousBuffer 複数のバッファーを持つサンプルを、1 つのバッファーを持つサンプルに変換します。 |
IMFSample::CopyToBuffer サンプル データをバッファーにコピーします。 このメソッドは、サンプルのすべてのバッファーから有効なデータを順番に連結します。 |
IMFSample::GetBufferByIndex インデックスを使用して、サンプルからバッファーを取得します。 |
IMFSample::GetBufferCount サンプル内のバッファーの数を取得します。 |
IMFSample::GetSampleDuration サンプルの期間を取得します。 |
IMFSample::GetSampleFlags サンプルに関連付けられているフラグを取得します。現在、フラグは定義されていません。 |
IMFSample::GetSampleTime サンプルのプレゼンテーション時間を取得します。 |
IMFSample::GetTotalLength サンプル内のすべてのバッファー内の有効なデータの合計長を取得します。 長さは、IMFMediaBuffer::GetCurrentLength メソッドによって取得された値の合計として計算されます。 |
IMFSample::RemoveAllBuffers サンプルからすべてのバッファーを削除します。 |
IMFSample::RemoveBufferByIndex 指定したインデックス位置にあるバッファーをサンプルから削除します。 |
IMFSample::SetSampleDuration サンプルの期間を設定します。 |
IMFSample::SetSampleFlags サンプルに関連付けられているフラグを設定します。現在、フラグは定義されていません。 |
IMFSample::SetSampleTime サンプルの表示時間を設定します。 |
注釈
新しいメディア サンプルを作成するには、 MFCreateSample を呼び出します。
注
IMFSample で IMFAttributes インターフェイスから継承された CopyAllItems を呼び出すと、サンプルの時刻、期間、フラグはコピー先のサンプルにコピーされません。 これらの値は、手動で新しいサンプルにコピーする必要があります。
- Windows XP Service Pack 2 (SP2) 以降。
- Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center Edition 2005) とKB925766 (2006 年 10 月 Windows XP Media Center Edition の更新プログラムのロールアップ) がインストールされています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfobjects.h (Mfidl.h を含む) |