Metrnome 篩選範例

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

Description

此範例篩選會示範如何實作參考時鐘。 篩選準則會使用您的預設麥克風輸入來接聽音訊尖峰 (,例如點擊、手擷取或) ,用來判斷時脈速率。

使用方式

建置範例專案,並將篩選 DLL (Metronom.ax) 複製到您的 Windows 系統目錄。 執行 Metronom.reg 檔案來註冊 DLL。

若要使用篩選準則:

  1. 在 GraphEdit 中建置可轉譯視訊串流的篩選圖形。
  2. 刪除任何轉譯的音訊資料流程。
  3. 將 Metronome 篩選新增至圖表。 它會出現在 DirectShow 篩選類別中。
  4. 執行圖表。 影片會以正常速度開始播放。
  5. 將您的手擷取或使用城市來設定新的速度。

程式設計注意事項

此篩選僅適用于視訊。 音訊轉譯器無法同步處理到完全不同的時脈速率。

如果您每分鐘 (92 次,每 652 毫秒) 一次,影片會以正常速率播放。 您可以藉由變更 Metronom.cpp 中的常數 BPM 值,來變更此預設值。

如果您停止重迭一段時間,然後再次啟動 clapping,則必須以大約相同的速度重新開機,否則篩選準則會忽略它。 此外,視訊播放速率受限於 CPU 速度。 如果您超過任何時間長度的限制,篩選準則將會停止回應速率變更。 如果發生這種情況,請停止圖形並重新啟動。

如果您實作自己的時鐘,最重要的規則是參考時鐘不得向後移動。 也就是說,它們絕對不能報告小於前一個時間值的時間值。

下載範例

若要下載 DirectShow SDK 範例,請安裝最新版本的 Windows SDK

此範例會安裝在下列路徑之下: [SDK Root]\Samples\Multimedia\DirectShow\Filters\Metronome。

CBaseReferenceClock 類別

DirectShow 範例