[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、IMFMediaEngine以及媒體基金會中的 音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayer、IMFMediaEngine 和 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
您可以在 GitHub 上的 Windows-classic-samples 存放庫中找到 DirectShow 範例應用程式。
下表列出該存放庫中提供的所有 DirectShow 範例。 如需如何建置範例的指示,請參閱 Windows SDK 中提供的檔。 如果存在描述範例的主題,則此表格的第一個數據欄會連結到該主題。
| 樣本 | 面積 | 描述 | 其他相依性 |
|---|---|---|---|
| DirectShow 基類 | 基類別庫 | C++類別和公用程式函式,專為實作 DirectShow 篩選而設計。 | |
| AmCap 範例 | 捕獲 | 視訊擷取應用程式。 | strmbase.lib |
| DVApp 範例 | 捕獲 | 數字視訊 (DV) 擷取應用程式。 | |
| PlayCap 範例 | 捕獲 | 簡單的擷取應用程式。 | |
| DMO 示範範例 | DMO | 透過音訊效果 DMO,從 WAV 檔案串流音訊數據。 | DirectX SDK |
| DVD 範例 | DVD | 示範基本的 DVD 播放和流覽,以及家長層級管理、書籤、卡拉OK 和命令同步處理等進階功能。 | |
| InfTee 篩選範例 | 篩選,其他 | Infinite Pin Tee 過濾器的範例實作。 | strmbase.lib |
| Metronome 篩選範例 | 篩選,其他 | 示範如何實作參考時鐘。 | strmbase.lib |
| PSI 解析器過濾器範例 | 篩選,其他 | 從 MPEG-2 傳輸數據流接收程式特定資訊 (PSI) 資料表,並擷取程式資訊。 | strmbase.lib |
| 傾印篩選範例 | 篩選、轉譯器 | 將接收到的媒體範例寫入文字檔。 | strmbase.lib |
| SampVid 篩選 | 篩選、轉譯器 | 視訊渲染器過濾器。 | strmbase.lib |
| 範圍篩選範例 | 篩選、轉譯器 | 以波浪形式顯示音效數據。 | strmbase.lib |
| 異步篩選範例 | 篩選,來源 | 支援漸進式下載的檔案讀取器篩選器。 | strmbase.lib |
| 球篩選範例 | 篩選,來源 | 產生彈跳球影像的視訊來源篩選。 | strmbase.lib |
| 推送來源篩選範例 | 篩選,來源 | 提供下列資料做為影片資料流的來源篩選:單一點陣圖、一組點陣圖、當前桌面圖像的複本。 | strmbase.lib |
| 合成器篩選範例 | 篩選,來源 | 生成音訊波形的來源濾波器。 此範例示範動態圖形建置。 | strmbase.lib |
| EZRGB24 篩選範例 | 篩選、轉換 | 影像處理濾鏡。 | strmbase.lib |
| Gargle 篩選範例 | 篩選、轉換 | 音訊效果篩選。 | strmbase.lib |
| WavDest 篩選範例 | 篩選、轉換 | 將音訊數據流寫入 WAV 檔案。 | strmbase.lib |
| DMOEnum 範例 | 雜項 | 示範如何列舉 DirectX 媒體物件 (DMO)。 | |
| 映射器範例 | 雜項 | 示範如何使用 篩選對應程式 在登錄中尋找篩選。 | |
| SysEnum 範例 | 雜項 | 示範如何使用 系統裝置列舉值 來列舉裝置和篩選。 | |
| CutScene 範例 | 重播 | 以全螢幕模式播放視訊檔案。 | |
| DDrawXCL 範例 | 重播 | 在 DirectDraw 獨佔全螢幕模式中播放視訊,使用 IDDrawExclModeVideo 介面於 重疊混音器 濾鏡上。 | |
| DShowPlayer 範例 | 重播 | 視訊播放應用程式。 | |
| EVRPlayer 範例 | 重播 | 展示如何使用 DirectShow EVR 濾鏡。
注意: 需要 Windows Vista 或更新版本。 此範例可在 Windows SDK for Windows Server 2008 或更新版本中取得。 |
strmbase.lib |
| Texture3D9 範例 | 重播 | 在 Microsoft DirectX 9.0 紋理表面上繪製影片。 | strmbase.lib,DirectX SDK |
| Ticker 範例 | VMR-9 | 使用 VMR-9 來混合視訊和文字。 | |
| VMR9Allocator 範例 | VMR-9 | 實作 VMR-9 的自訂記憶體分配呈現器。 | strmbase.lib |
| VMR9Compositor 範例 | VMR-9 | 實作 VMR-9 的自定義混音器。 | |
| VMRPlayer 範例 | VMR-9 | 使用 VMR-9 來混合一或兩個正在播放的影片和靜態影像。 | |
| 水印範例 | VMR-9 | 在播放期間,使用 VMR-9 將靜態位圖疊加到影片上。 | |
| 無窗範本 | VMR-9 | 示範 VMR-9 中的無視窗模式。 |
其他相依性
部分範例連結至 DirectShow 基類庫。 若要建置這些範例,請先建置基類連結庫。 如需詳細資訊,請參閱 DirectShow 基類。 所有範例濾鏡都需要基類庫。
除了 Windows SDK 之外,還有一些範例也需要 DirectX SDK。 若要建置這些範例,您必須安裝 DirectX SDK,並將 %DXSDK\_DIR% 環境變數設定為等於 DirectX SDK 安裝路徑。
許多 DirectShow 範例都會使用一組位於 directrory \[SDK Root\]Samples\Multimedia\DirectShow\Common的通用標頭和原始程序檔。 如果您將範例資料夾複製到另一個目錄,請務必複製 Common 資料夾。