CSourceStream.GetMediaType 方法 (Source.h) - iPosition 和 pMediaType 參數
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
GetMediaType方法會擷取慣用的媒體類型。
語法
virtual HRESULT GetMediaType(
int iPosition,
CMediaType *pMediaType
);
參數
-
iPosition
-
以零起始的索引值。
-
pMediaType
-
接收媒體類型的 CMediaType 物件的指標。
傳回值
傳回下表所示的其中一個 HRESULT 值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
超出範圍的索引。 |
|
索引小於零。 |
|
非預期的錯誤。 |
備註
這個方法有兩個版本。 一個版本會覆寫 CBasePin::GetMediaType 方法,並以索引值作為參數。 另一個版本是設計來擷取單一媒體類型,因此缺少索引參數。
單一參數方法會傳回E_UNEXPECTED。 雙參數方法會驗證 iPosition 參數為零,然後呼叫單一參數版本。 根據針腳支援的媒體類型數目,您必須覆寫下列其中一種方法:
- 如果針腳只支援一種媒體類型,請覆寫單一參數版本。 填入釘選支援的媒體類型。
- 如果針腳支援多個媒體類型,請覆寫雙參數版本。 同時覆寫 CSourceStream::CheckMediaType 方法。
規格需求
需求 | 值 |
---|---|
標頭 | Source.h (包含 Streams.h) |
程式庫 | Strmbase.lib (零售組建) ;Strmbasd.lib (偵錯組建) |