1

我正在创建一个基本的信号发生器,并决定使用我的声卡作为模拟输出。我选择使用 DirectSound 是因为……这似乎是一个不错的选择。

我已经将它启动并运行得非常好,但我现在意识到我的代码使用辅助缓冲区以及计算机上的任何其他声音都与我生成的信号混合在一起。这是一个问题,因为当我正在运行电机时,我不希望它收到一个 MSN 戳噪声作为命令。

为了获得完全控制,我试图通过将合作级别设置为 DSSCL_WRITEPRIMARY 来接管系统。总而言之,这个策略真的让我很头疼,因为我在尝试设置此设置后遇到错误。关于使用主缓冲区的文档不是很好,我找不到任何真正好的例子。

所以我的问题是:

  1. 有没有人有一个很好的工作示例来接管和写入主缓冲区。

  2. 有没有更简单的方法可以将波形输出到声卡,并确保我的应用程序具有完全和唯一的控制权?

谢谢

4