【问题标题】:play multiple wav files using DirectShow at the same and record them C++同时使用 DirectShow 播放多个 wav 文件并记录它们 C++
【发布时间】:2011-11-04 10:54:16
【问题描述】:

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

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

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

我应该使用:

  • DirectShow 播放多个 wav 文件
  • 记录一下,我应该使用 DirectX 中的哪个组件?

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

提前致谢。

【问题讨论】:

    标签: c++ audio directshow


    【解决方案1】:

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

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

    您无需实际编程即可在此处构建多播放图表,并大致了解事物的工作原理。你也可以在代码中做同样的事情。

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

    【讨论】:

    • 实际上 DirectShow 在它被引入的时候曾经是 DirectX 的一部分(如果我没记错的话,它是 DirectX 5)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2013-01-20
    • 1970-01-01
    相关资源
    最近更新 更多