c++ - 使用 DirectShow 同时播放多个 wav 文件并记录它们 C++

标签 c++ audio directshow

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

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

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

我应该使用:

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

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

提前致谢。

最佳答案

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

Windows SDK 附带了一个很棒的工具:GraphEdit。 MSDN 上也对其进行了描述:Using GraphEdit .

您可以在此处构建多回放图,而无需实际编程并了解其工作原理。您还可以在代码中执行相同的操作。

录制可能是一件比较棘手的事情,您稍后会解决这个问题。您将决定是使用压缩还是现在使用您喜欢的格式。对于简单的 PCM .WAV,您将需要一个额外的过滤器,它可以作为 Windows SDK 或其早期版本的示例获得:WavDest Filter Sample .

关于c++ - 使用 DirectShow 同时播放多个 wav 文件并记录它们 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008179/

相关文章:

c++ - Boost Graph initialize_vertex 改变顶点颜色(访问者)

c++ - 在模板类的构造函数末尾调用的模板的析构函数

c++ - 将map <string,int>保存到文本文件

c++ - 视频渲染器过滤器拒绝样本

c++ - 将位图设置为 IMediaSample

c++ - for循环的增量语句中的奇数位运算符

javascript - 录制/流式传输音频并在通话时播放 |网站

c - 从头开始合成 WAV 文件 - C

javascript - JavaScript音频分析语音

c++ - 如何将 GraphEdit 连接到我的应用程序的图表