C++ Beep()的异步形式

C++ Beep()的异步形式,c++,winapi,C++,Winapi,我已经在我的计算机上尝试了Beep(),它可以正常工作。我需要一个异步表单,它允许我以给定频率的音调打开扬声器,同时允许我运行其他代码。我应该能够随意改变频率,并用零参数关闭它。 i、 e 由于Beep()在我的机器上工作,我希望此功能也可用 我试图复制一个旧程序,它直接为扬声器硬件编程 C++,Wi7VS2013工作。使用OpenGL编写基于Windows的程序。您可以创建一个线程,该线程可以调用Beep(),并使用多种方式之一与之通信,例如sendmages() 但是,就您的解决方案而言,

我已经在我的计算机上尝试了
Beep()
,它可以正常工作。我需要一个异步表单,它允许我以给定频率的音调打开扬声器,同时允许我运行其他代码。我应该能够随意改变频率,并用零参数关闭它。 i、 e

由于
Beep()
在我的机器上工作,我希望此功能也可用

我试图复制一个旧程序,它直接为扬声器硬件编程


C++,Wi7VS2013工作。使用OpenGL编写基于Windows的程序。

您可以创建一个线程,该线程可以调用
Beep()
,并使用多种方式之一与之通信,例如
sendmages()


但是,就您的解决方案而言,
Beep()
如果您希望的话,它是没有响应的。

Ae您正在寻找一个可移植的解决方案,或者它只需要在您的设备上工作吗?我希望代码可以在任何W7设备上运行。如果Beep(频率、持续时间)运行,它也应该运行。waveOut*()win32 API(waveOutOpen())/waveOutPrepareHeader()/waveOutWrite()/etc)可以用来做你想做的事情;您需要使用sin()或cos()生成样本,然后按计划将它们发送到音频系统。我不知道是否还有比这更具体的东西。“如果我能找到Beep()代码”---。当然,这不是原作。;-)我正试图用一个图形程序来协调音调的变化。你愿意只使用Windows API吗?还是对其他库开放?这是一个家庭项目。我不想买东西。我愿意尝试另一个图书馆。到目前为止,我所发现的一切都涉及到设置wav文件。我认为,能够将两个字节写入一个声音芯片,这是一个巨大的过度消耗。
tone(freq1); // start sounding at freq1
// execute other code which will use time and decide tone length
tone(freq2); // a new tone at freq2
// execute more work
tone(0); // turn off sound