非同步篩選範例
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
Description
非同步篩選範例是支援漸進式下載的檔案讀取器篩選。 此範例篩選會實作 IAsyncReader 和 IFileSourceFilter 介面。 它支援 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。
相關主題