WavSource 示例

演示如何在 Microsoft Media Foundation 中创建自定义媒体源。 此示例实现分析 .wav 音频文件的媒体源。

此示例是一个相对简单的媒体源示例:

  • 只有一个流,因此没有用于实现流选择的代码。
  • 媒体源不实现速率控制 (即快进或反向播放) 。
  • 所有源和流方法都作为同步方法实现。
  • 由于 .wav 文件的数据部分是未压缩 PCM 音频的单个块,因此媒体源无需在播放期间读取数据包标头或以其他方式分析流,除了读取初始 WAVEFORMAT 标头。

有关媒体源的更高级示例,请参阅 MPEG1Source 示例

演示的 API

此示例演示以下 Media Foundation 接口:

使用情况

WavSource 示例生成一个 DLL,该 DLL 是媒体源和媒体源的字节流处理程序的 COM 服务器。 在使用媒体源之前,必须注册 DLL。

若要使用媒体源,可以运行 BasicPlayback。 如果选择 .wav 文件进行播放,则源解析程序将自动加载媒体源。 (如果发生错误,请确保已成功注册 WavSource DLL.)

还可以使用 TopoEdit 工具生成包含媒体源的播放拓扑。 有关 TopoEdit 的详细信息,请参阅 TopoEdit

要求

产品 Version
Windows SDK Windows 7

 

下载示例

此示例在 Windows 经典示例 github 存储库中提供。

Media Foundation SDK 示例

媒体源

MPEG1Source 示例

方案处理程序和Byte-Stream处理程序

编写自定义媒体源