[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
類別 CBaseInputPin 是用來實作輸入針腳的抽象基類。 除了CBasePin提供的IPin介面支援之外,這個類別還會新增IMemInputPin介面的支援。
若要使用此類別,請衍生新的類別,並至少覆寫下列方法:
- CBaseInputPin::BeginFlush
- CBaseInputPin::EndFlush
- CBaseInputPin::Receive
- CBasePin::CheckMediaType
- CBasePin::GetMediaType
視針腳的函式而定,您可能需要覆寫 或CBasePin中的其他 CBaseInputPin 方法。
| 受保護的成員變數 | Description |
|---|---|
| m_pAllocator | 記憶體配置器的指標。 |
| m_bReadOnly | 指出配置器是否產生唯讀媒體樣本的旗標。 |
| m_bFlushing | 旗標,指出針腳目前是否正在排清。 |
| m_SampleProps | 最新範例的屬性。 |
| 公用方法 | Description |
| CBaseInputPin | 建構函式方法。 |
| ~CBaseInputPin | 解構函式方法。 |
| BreakConnect | 從連接釋放針腳。 |
| IsReadOnly | 查詢配置器是否使用唯讀媒體範例。 |
| IsFlushing | 查詢篩選目前是否正在排清。 |
| CheckStreaming | 判斷針腳是否可以接受樣本。 虛擬。 |
| PassNotify | 將品質控制訊息傳遞至適當的物件。 |
| 非使用中 | 通知針腳,篩選已不再使用中。 虛擬。 |
| SampleProps | 擷取最近範例的屬性。 |
| IPin 方法 | Description |
| BeginFlush | 開始排清作業。 |
| EndFlush | 結束排清作業。 |
| IMemInputPin 方法 | Description |
| GetAllocator | 擷取這個針腳所建議的記憶體配置器。 |
| NotifyAllocator | 指定連接的配置器。 |
| GetAllocatorRequirements | 擷取輸入針腳所要求的配置器屬性。 |
| 接收 | 接收資料流程中的下一個媒體範例。 |
| ReceiveMultiple | 在資料流程中接收多個樣本。 |
| ReceiveCanBlock | 判斷 對 CBaseInputPin::Receive 方法的呼叫是否可能會封鎖。 |
| IQualityControl 方法 | Description |
| Notify | 接收品質控制訊息。 |
規格需求
| 需求 | 值 |
|---|---|
| 標頭 |
|
| 程式庫 |
|