如何通过外接PC扬声器用c++输出不同的波信号
How to Ouput different wave signals through external PC speakers with C++?
对于我的学校项目,我想知道是否有人可以帮助我找到一种通过我的PC扬声器实时输出声音的方法。这必须通过我的声卡完成,而在同一时间播放的信号参数,如相位,幅度,波形等?如果可能的话,我更喜欢c++语言下的库,并且出于实际原因在Windows平台上。当然Linux也是可以的。
最重要的是,我还想通过每个扬声器发送不同的波形,以创建静波,可以通过这个实验看到:www.youtube.com/watch ? v = T56waxJ7bB8
一个有趣的可能性是使用JACK。它可以在Linux、Windows和OSX下工作,并提供对音频输出的低延迟访问。它还允许将输出任意路由到其他程序。
JACK的编程模型非常简单-唯一支持的数据类型是32位float
s的单个通道,因此与其手动交错数据通道,还可以提供左右音频正弦波发生器的单独实例,并将每个实例路由到适当的输出通道。
另外,作为一个小的兴趣点,JACK2是用c++编写的(尽管外部API仍然是C)。我建议从JACK wiki开始,也许可以修改一个简单的示例客户端来做您正在尝试的事情。
有一些api可以做到这一点。
- Windows XP及以上使用DirectSound
- Windows Vista/7/8及以上版本使用WASAPI 有一些跨平台的api,如OpenAL和SDL。
在网上搜索一些例子。尝试一下这些api和示例,看看效果如何。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- Qt VTK交互风格的信号到小部件
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 程序接收信号SIGSEGV,输出分段故障
- 如何通过外接PC扬声器用c++输出不同的波信号
- 输出被调用的信号/插槽的跟踪信息
- 如何处理信号处理库的输入/输出类型
- 监视器/输出发出的qt信号