媒体源对象模型

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

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

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

媒体源接口

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

接口 描述
IMFMediaSource 所有媒体源都需要。
IMFMediaEventGenerator 所有媒体源都需要。 IMFMediaSource接口继承此接口。

或者,媒体源可以实现 IMFGetService 接口,并将以下任何接口作为服务实现:

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

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

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

媒体流接口

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

接口 描述
IMFMediaStream 所有媒体流都需要。
IMFMediaEventGenerator 所有媒体流都需要。 IMFMediaStream接口继承此接口。

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

媒体源