异步筛选器示例

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

说明

异步筛选器示例是支持渐进式下载的文件读取器筛选器。 此示例筛选器实现 IAsyncReaderIFileSourceFilter 接口。 它支持 MPEG 文件,但不支持 AVI 文件。

使用情况

此示例包含一个演示筛选器的小型命令行应用程序,Memfile.exe。 命令行参数指定媒体文件和比特率(以千字节/秒为单位)。 应用程序以指定的速率将文件读入内存并播放文件。 为此,它会创建筛选器的实例,将筛选器添加到筛选器图中,并呈现筛选器的输出引脚。

在命令行提示符处键入以下命令:

Memfile 文件名比特率

异步示例筛选器不支持 AVI 文件,因为它无法连接到 AVI 拆分器 筛选器。 异步筛选器的输出引脚建议媒体类型的MEDIATYPE_Stream和MEDIASUBTYPE_NULL。 AVI 拆分器筛选器上的输入引脚不接受MEDIASUBTYPE_NULL,也不建议自己的任何类型的输入引脚。 因此,引脚连接失败。 可以增强异步筛选器,以在适当的时候提供MEDIASUBTYPE_Avi。 例如,它可以检查文件格式或使用文件扩展名。

下载示例

若要下载 DirectShow SDK 示例,请安装最新版本的 Windows SDK

此示例安装在以下路径下:[SDK Root]\Samples\Multimedia\DirectShow\Filters\Async。

DirectShow 示例