[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayer、IMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayer、IMFMediaEngine 和 Media Foundation 中的音频/视频捕获,而不是 DirectShow。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
注意
这些 API 已弃用。 应用程序应使用 Sample Grabber 筛选器或实现自定义筛选器从 DirectShow 筛选器图获取数据。
下图显示了多媒体流式处理中使用的对象层次结构。
多媒体流式处理体系结构定义了三种常规类型的对象:
- AMMultimediaStream 对象公开 IAMMultiMediaStream 接口。 在内部,此对象包装 DirectShow 筛选器图。
- 媒体流 对象公开 IMediaStream 接口,并且特定于数据。 AMMultimediaStream 对象包含一个或多个媒体流。
- 流示例 对象包含特定流的数据。
支持以下媒体流对象:
- 音频流。 公开 IAudioMediaStream 接口。
- DirectDraw 流。 表示呈现到 DirectDraw 图面的视频流。 公开 IDirectDrawMediaStream 接口。
- 媒体类型流。 表示任意数据。 公开 IAMMediaTypeStream 接口。
每个媒体流对象创建其自己的流示例对象类型:
- 音频流创建音频示例,该示例公开 IAudioStreamSample 接口。
- DirectDraw 流创建 DirectDraw 示例,该示例公开 IDirectDrawStreamSample 接口。
- 媒体类型流创建媒体类型示例,该示例公开 IAMMediaTypeSample 接口。
下图显示了前面列出的接口的接口层次结构: