非同步篩選範例

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

Description

非同步篩選範例是支援漸進式下載的檔案讀取器篩選。 此範例篩選會實作 IAsyncReaderIFileSourceFilter 介面。 它支援 MPEG 檔案,但不支援 AVI 檔案。

使用方式

此範例包含示範篩選準則的小型命令列應用程式Memfile.exe。 命令列引數會以每秒 KB 為單位指定媒體檔案和位元速率。 應用程式會以指定的速率將檔案讀入記憶體中,並播放檔案。 若要這樣做,它會建立篩選的實例、將篩選新增至篩選圖形,並轉譯篩選的輸出釘選。

在命令列輸入:

Memfile Filename BitRate

非同步範例篩選不支援 AVI 檔案,因為它無法連線到 AVI 分割器 篩選器。 非同步篩選的輸出針腳建議媒體類型的MEDIATYPE_Stream和MEDIASUBTYPE_Null。 AVI 分割器篩選準則上的輸入針腳不接受MEDIASUBTYPE_Null,而且不會建議其本身的任何類型。 因此,針腳連線失敗。 非同步篩選可以增強,以在適當情況下提供MEDIASUBTYPE_Avi。 例如,它可以檢查檔案格式,或使用副檔名。

下載範例

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

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

DirectShow 範例