我想创建一个示例应用程序以便在 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/