DirectX 媒体对象

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

注意

媒体基础转换(MFT)取代了 DMO。 仍支持 DMO 接口。 但是,如果要编写自定义编解码器或音频/视频处理插件,应考虑将其实现为 MFT。

 

DirectX 媒体对象(DMO)是基于 COM 的数据流组件。 在某些方面,DMO 类似于 Microsoft DirectShow 筛选器。 与 DirectShow 筛选器一样,DMO 采用输入数据并将其用于生成输出数据。 但是,DMO 的应用程序编程接口(API)比 DirectShow 的相应 API 简单得多。 因此,DMO 更易于创建、测试和使用。 可在许多方案中使用 DMO:

  • 基于 DirectShow 的应用程序可以通过名为 DMO 包装器 筛选器的 DirectShow 筛选器使用 DMO。 筛选器和 DMO 之间的区别对应用程序是透明的。 应用程序不直接调用 DMO API。
  • 基于 Microsoft DirectSound 的应用程序可以使用音频效果 DMO。 同样,应用程序受到较高级别的 DirectSound API 的低级别 DMO API 的防护。
  • 应用程序可以直接使用 DMO。

因此,通过编写 DMO,可以创建可在各种应用程序中使用的组件。 本文档包含以下部分:

DirectShow