共用方式為


撰寫轉換濾波器

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

本節說明如何撰寫轉換濾波器,其定義為只具有一個輸入端點和一個輸出端點的濾波器。 為了說明步驟,本節說明輸出運行長度編碼 (RLE) 視訊的假設轉換篩選器。 它不會描述 RLE 編碼演算法本身,只會描述 DirectShow 特有的工作。 (DirectShow 已經透過 AVI 壓縮機 篩選器提供 RLE 編解碼器。

本節假設您將使用 DirectShow 基類連結庫來建立篩選。 雖然您可以不使用基類庫來撰寫篩選器,但我們強烈建議使用基類庫。

注意

在撰寫轉換篩選之前,請考慮 DirectX 媒體物件 (DMO) 是否符合您的需求。 DMO 可以執行許多與篩選相同的動作,而且 DMO 的程式設計模型更簡單。 DMO 裝載於 DirectShow 中,透過 DMO 包裝函式 篩選,但也可以在 DirectShow 之外使用。 DMO 現在是編碼器和譯碼器的建議解決方案。

 

本節包含下列主題:

建置 DirectShow 篩選

DirectShow 基礎類別

撰寫 DirectShow 篩選器