使用DirectShow同时播放多个wav文件并将其记录为C ++

时间:2011-11-04 10:54:16

标签: c++ audio directshow

我想创建一个示例应用程序,以便在C ++中同时播放多个wav文件。当文件开始播放时,我需要录制所有播放的wav文件的“声音,音频”。换句话说就是在比赛期间混合它们。

我是DirectX的新手,我不知道DirectX的哪个组件应该用于此:

我刚看过这个链接:http://www.mycplus.com/tutorials/microsoft-direct-x-programming/directx-components/

我应该使用:

  • DirectShow播放多个wav文件
  • 如何记录它们,我应该使用DirectX中的哪个组件?

如果有一个示例开源应用程序,我也想知道。如果有一些示例源代码,那将是最好的。

提前致谢。

1 个答案:

答案 0 :(得分:2)

首先,DirectShow不是DirectX的一部分。相反,它是核心Windows SDK和组件的一部分(不要被“Direct-”前缀混淆)。

Windows SDK附带了一个很棒的工具:GraphEdit。它也在MSDN上描述:Using GraphEdit

你可以在那里构建多重播放图形而无需实际编程,并获得基本的工作原理。您也可以在代码中执行相同的操作。

录制可能比较棘手,您稍后会解决此问题。您将决定是使用压缩还是现在使用您喜欢的格式。对于直截了当的PCM .WAV,您需要一个额外的过滤器,可以从Windows SDK或其早期版本WavDest Filter Sample中获取。