媒体源对象模型

本主题介绍 Microsoft Media Foundation 中媒体源的对象模型。 媒体源必须实现两个对象:

  • 一个演示文稿描述符,描述源的内容,包括流的数量和每个流的格式。 有关演示文稿描述符的详细信息,请参阅 演示文稿描述符
  • 生成源数据的一个或多个媒体流。

在播放开始之前,源不会创建流。

媒体源接口

媒体源必须通过 QueryInterface 公开以下接口。

接口 说明
IMFMediaSource 对于所有媒体源是必需的。
IMFMediaEventGenerator 对于所有媒体源是必需的。 IMFMediaSource 接口继承此接口。

 

(可选)媒体源可以实现 IMFGetService 接口,并将以下任何接口实现为服务:

服务接口 说明
IMFRateControl 控制播放速率。
IMFRateSupport 报告支持的播放速率范围。
IMFQualityAdvise 使质量管理器能够调整音频或视频质量。
IMFMetadataProvider 提供元数据。

 

如果媒体源可以按非正常速度 (1.0) 播放,则应 (IMFRateControlIMFRateSupport) 公开速率控制服务。 否则,假定源仅支持以正常速度播放。 有关详细信息,请参阅 实现速率控制

有关服务接口和 IMFGetService 的详细信息,请参阅 服务接口

媒体流接口

媒体流必须实现以下接口。

接口 说明
IMFMediaStream 对于所有媒体流是必需的。
IMFMediaEventGenerator 对于所有媒体流是必需的。 IMFMediaStream 接口继承此接口。

 

目前没有为媒体流定义任何服务接口。

媒体源