DirectShow 範例應用程式
[與此頁面相關聯的功能,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
資料夾。