共用方式為


CSourceStream.GetMediaType 方法 (Source.h) - iPosition 和 pMediaType 參數

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

GetMediaType方法會擷取慣用的媒體類型。

語法

virtual HRESULT GetMediaType(
   int        iPosition,
   CMediaType *pMediaType
);

參數

iPosition

以零起始的索引值。

pMediaType

接收媒體類型的 CMediaType 物件的指標。

傳回值

傳回下表所示的其中一個 HRESULT 值。

傳回碼 描述
S_OK
成功。
VFW_S_NO_MORE_ITEMS
超出範圍的索引。
E_INVALIDARG
索引小於零。
E_UNEXPECTED
非預期的錯誤。

備註

這個方法有兩個版本。 一個版本會覆寫 CBasePin::GetMediaType 方法,並以索引值作為參數。 另一個版本是設計來擷取單一媒體類型,因此缺少索引參數。

單一參數方法會傳回E_UNEXPECTED。 雙參數方法會驗證 iPosition 參數為零,然後呼叫單一參數版本。 根據針腳支援的媒體類型數目,您必須覆寫下列其中一種方法:

  • 如果針腳只支援一種媒體類型,請覆寫單一參數版本。 填入釘選支援的媒體類型。
  • 如果針腳支援多個媒體類型,請覆寫雙參數版本。 同時覆寫 CSourceStream::CheckMediaType 方法。

規格需求

需求
標頭 Source.h (包含 Streams.h)
程式庫 Strmbase.lib (零售組建) ;Strmbasd.lib (偵錯組建)

另請參閱

CSourceStream 類別