DirectX 媒体对象

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

注意

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

 

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

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

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

DirectShow