共用方式為


異步篩選範例

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngine,以及媒體基礎中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

描述

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

用法

此範例包含示範篩選條件的小型命令行應用程式 Memfile.exe。 命令行自變數會以每秒 KB 為單位指定媒體檔案和比特率。 應用程式會以指定的速率將檔案讀入記憶體,並播放檔案。 若要這樣做,它會建立篩選器實例,將篩選器新增至篩選圖形,並呈現篩選器的輸出接腳。

在命令列中,輸入:

記憶文件 檔案名 位元速率

異步範例篩選不支援 AVI 檔案,因為它無法連線到 AVI 分割器 篩選。 異步篩選器的輸出針腳會針對媒體類型提出MEDIATYPE_Stream和MEDIASUBTYPE_NULL。 AVI 分隔器篩選器上的輸入針腳不接受 MEDIASUBTYPE_NULL,並且不會提供任何自身的媒體類型。 因此,針腳連線失敗。 異步篩選器可以改進,以在適當時提供 MEDIASUBTYPE_Avi。 例如,它可以檢查檔格式,或使用擴展名。

下載範例

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

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

DirectShow 範例