IMFSample 介面 (mfobjects.h)

表示媒體範例,這是媒體數據的容器物件。 針對影片,範例通常會包含一個視訊畫面。 對於音訊數據,範例通常會包含多個音訊樣本,而不是單一音訊樣本。

媒體範例包含零個或多個緩衝區。 每個緩衝區都會管理記憶體區塊,並由 IMFMediaBuffer 介面表示。 範例可以有多個緩衝區。 緩衝區會保留在已排序的清單中,並依索引值存取。 它也適用於沒有緩衝區的空樣本。

繼承

IMFSample 介面繼承自 IMFAttributesIMFSample 也有下列類型的成員:

方法

IMFSample 介面具有這些方法。

 
IMFSample::AddBuffer

將緩衝區加入至範例中緩衝區清單的結尾。
IMFSample::ConvertToContiguousBuffer

將具有多個緩衝區的範例轉換成具有單一緩衝區的範例。
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 上呼叫 CopyAllItems,繼承自 IMFAttributes 介面時,範例時間、持續時間和旗標不會複製到目的地範例。 您必須手動將這些值複製到新的範例。

 
如果已安裝 Windows Media Format 11 SDK 可轉散發元件,此介面可在下列平臺上使用:
  • Windows XP with Service Pack 2 (SP2) 和更新版本。
  • 已安裝 Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center 版本 2005) 和 KB925766 (2006 年 10 月更新匯總) 。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfobjects.h (include Mfidl.h)

另請參閱

IMFAttributes

媒體基礎介面

媒體範例

範例屬性