Windows 媒体源筛选器

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

此筛选器是 Windows Media® 内容的旧版源筛选器。 它由 Windows 媒体播放器 6.4 使用。 通常,使用此筛选器的最简单且最可靠的方法是使用 Windows 媒体播放器 6.4 ActiveX 控件。 此筛选器公开的许多方法也通过 ActiveX 控件公开。 有关详细信息,请参阅 Windows 媒体播放器 SDK。

当为此筛选器指定本地 ASF 文件的名称或远程文件的 URL 时,它会读取文件、分析压缩的流,并为每个流创建输出引脚。 此筛选器不使用 Windows 媒体格式 SDK。 它使用 Windows Media 解码器的可安装编解码器版本,而不是 DMO 版本。 音频输出引脚始终连接到 ASF ACM 处理程序筛选器,视频引脚始终连接到 ASF ICM 处理程序。 在本例中, (ICM 是指视频压缩管理器的原始名称。) 筛选器不支持查找。

下图显示了包含此筛选器的筛选器图。

windows 媒体源筛选器图

为了保持与 Windows 媒体播放器 6.4 的向后兼容性,此筛选器是具有 .wma、.wmv 和 .asf 文件扩展名的文件的默认源筛选器。 对于文件播放,较新的应用程序应使用 WM ASF 读取器 筛选器。 但是,WM ASF 读取器不支持播放流式内容。

应用程序播放基于 Windows 媒体的流式传输内容的最简单方法是使用 Windows 媒体播放器 SDK。 另一个选项是使用 Windows 媒体格式 SDK。 不建议尝试基于 Windows 媒体源筛选器创建自定义播放器。

Label
筛选器接口 IBaseFilterIAMChannelInfoIAMExtendedSeekingIAMMediaContentIAMOpenProgressIAMNetShowConfigIAMNetShowExPropsIAMNetShowPrerollIAMNetworkStatusIFileSourceFilter
输入引脚媒体类型 不适用。
输入引脚接口 不适用。
输出引脚媒体类型 根据 ASF 文件中的流而异。
输出引脚接口 IMediaSeeking
筛选器 CLSID 请参阅备注
可执行文件 dxmasf.dll
优点 MERIT_NORMAL
筛选器类别 CLSID_LegacyAmFilterCategory

 

备注

qnetwork.h 中未定义筛选器的 CLSID。 在自己的头文件中使用此宏:

//  {6B6D0800-9ADA-11d0-A520-00A0D10129C0}
DEFINE_GUID(CLSID_NetShowSource, 
0x6b6d0800, 0x9ada, 0x11d0, 0xa5, 0x20, 0x0, 0xa0, 0xd1, 0x1, 0x29, 0xc0);

DirectShow 筛选器

在 DirectShow 中读取 ASF 文件

WM ASF 读取器筛选器