共用方式為


IAMStreamControl 介面 (strmif.h)

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

介面 IAMStreamControl 會控制篩選準則上的個別資料流程。 某些篩選上的釘選會公開此介面。 例如, AVI Mux Filter 在其輸入針腳上支援這個介面,而 音訊擷取篩選器WDM 視訊擷取篩選器 在其輸出釘選上支援它。

此介面可讓應用程式在指定的時間開啟和關閉資料流程。 例如,應用程式可能會關閉音訊串流,以在視訊預覽期間將音訊靜音。 擷取應用程式可以使用這個介面來指定擷取的確切開始和停止時間,以及分別控制擷取和預覽資料流程。

若要使用此介面,請呼叫 IAMStreamControl::StartAt 方法來指定針腳何時開始傳遞資料,以及 IAMStreamControl::StopAt 方法來指定何時會停止傳遞資料。 然後在 Filter Graph 管理員上呼叫 IMediaControl::Run ,以執行篩選圖形。 所有時間都是相對於圖形開始執行的時間。

當您使用此介面時,請注意下列限制:

  • 篩選圖形中必須有參考時鐘。
  • 具有硬體重迭的擷取卡上的預覽釘選不支援此介面。
  • 如果您要將音訊和視訊擷取到交錯的 AVI 檔案,AVI Mux 篩選器需要兩個數據流。 如果您停止一個資料流程,篩選準則就無法交錯資料。 如需詳細資訊,請參閱 IConfigInterleaving 介面
視應用程式而定,您可能會發現 ICaptureGraphBuilder2::ControlStream 方法更方便,因為它支援圖形層級的串流控制,因此您不需要列舉個別篩選和釘選。

篩選開發人員CBaseStreamControl 基類會實作此介面。

繼承

IAMStreamControl介面繼承自IUnknown介面。 IAMStreamControl 也有下列類型的成員:

方法

IAMStreamControl介面具有這些方法。

 
IAMStreamControl::GetInfo

GetInfo 方法會擷取目前資料流程控制設定的相關資訊,包括開始和停止時間。
IAMStreamControl::StartAt

StartAt 方法會通知釘選何時開始傳遞資料。
IAMStreamControl::StopAt

StopAt 方法會通知針腳何時停止傳遞資料。

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)

另請參閱

CBaseStreamControl 類別

錯誤和成功碼