IVMRFilterConfig::SetNumberOfStreams 方法 (strmif.h)
[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。
方法 SetNumberOfStreams
會設定要混合的數據流數目,並指示 VMR 進入混合模式。
語法
HRESULT SetNumberOfStreams(
[in] DWORD dwMaxStreams
);
參數
[in] dwMaxStreams
雙字包含混合 VMR 所需的輸入數據流數目上限。 不得大於 MAX_MIXER_STREAMS (16) 。
傳回值
如果方法成功,它會傳回 S_OK。 如果方法失敗,則會傳回錯誤碼。
傳回碼 | Description |
---|---|
|
混合器已設定。 |
|
嘗試為超過16個輸入數據流設定混音器。 |
|
無法配置用來管理數據流的記憶體。 |
備註
dwMaxStreams 應該等於所需的輸入針腳數目。 連接 VMR 之後,無法新增或移除針腳。 如果您事先不知道需要多少輸入數據流,請將 dxMaxStreams 設定為可能需要的最大數目。 值為 1 對於 dwMaxStreams 有效。 此值不會造成建立任何額外的針腳,但會強制 VMR 進入「混音器模式」。因此,呼叫此方法之後,您無法呼叫 SetRenderingMode 將模式設定為 VMRMode_Renderless
VMR 會建立指定的輸入針腳數目,而不需要嘗試判斷是否有足夠的視訊記憶體來支持它們。 這是因為目前無法知道媒體類型或矩形維度。 稍後,當上游篩選嘗試連線到針腳時,此時媒體類型已知,且 VMR 會檢查視訊記憶體,並在沒有足夠的時間處理數據流時失敗連線。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 具有 SP1 的 Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |