使用WaveIn获得声音输出? 我编写了一个C++程序,用波形输入麦克风输入并分析它。我希望可以选择将输入源从麦克风输入更改为Windows的声音输出,但我真的不知道如何做到这一点,而且许多搜索结果都是C语言的,这对我没有帮助。为应用程序付费的人真的希望它在C++中。
有人能帮我用WaveIn或者其他API捕捉声音输出吗?该程序只打算在Windows 7上运行,而我现在使用Visual C++ 2010来编程,如果这对你有帮助的话。使用WaveIn获得声音输出? 我编写了一个C++程序,用波形输入麦克风输入并分析它。我希望可以选择将输入源从麦克风输入更改为Windows的声音输出,但我真的不知道如何做到这一点,而且许多搜索结果都是C语言的,这对我没有帮助。为应用程序付费的人真的希望它在C++中。,c++,audio,C++,Audio,有人能帮我用WaveIn或者其他API捕捉声音输出吗?该程序只打算在Windows 7上运行,而我现在使用Visual C++ 2010来编程,如果这对你有帮助的话。 我的头顶,这将要求你勾出波形调用并捕获数据,然后将其作为输入到麦克风。也就是说,胡克·韦文也加入了 打开WaveIn设备时,不要将WAVE_MAPPER用作设备ID,而是显式设置设备 uDeviceID指定的设备标识符的变化范围为0到1,小于存在的设备数- 您可以通过以下方式浏览所有设备: WAVEINCAPS wc;
我的头顶,这将要求你勾出波形调用并捕获数据,然后将其作为输入到麦克风。也就是说,胡克·韦文也加入了
打开WaveIn设备时,不要将WAVE_MAPPER用作设备ID,而是显式设置设备 uDeviceID指定的设备标识符的变化范围为0到1,小于存在的设备数- 您可以通过以下方式浏览所有设备: WAVEINCAPS wc;
/* Get the number of Digital Audio Out devices in this computer */
int n_devices = waveInGetNumDevs();
for (int i = 0; i < n_devices; i++)
{
if (!waveInGetDevCaps(i, &wc, sizeof (WAVEINCAPS)))
printf("device id #%d: %s\n", i, wc.szPname);
}
根据要求,从对OP的评论中
您需要选择不同的录制设备。默认情况下,许多Win7机器禁用了立体声混音
转到录音设备,右键单击麦克风条目下的空白区域。您应该有一个显示禁用的选项。然后,启用立体声混音,您应该能够选择立体声混音,并以与麦克风完全相同的方式使用它您需要选择不同的录音设备。许多Win7机器在默认情况下禁用了立体声混音-转到录音设备,右键单击麦克风项下的空白区域。您应该有一个显示禁用的选项。然后,启用立体声混音,您应该能够选择它并使用它,与通过WASAPI的MicVista+支持环回录制完全相同。这两个注释都非常有用。我想我会接受Basic的建议,然后在切换中选择不同的设备。谢谢大家!作为旁注,这是我的第一个问题,如果可能的话,我不知道如何结束它或承认一个好的答案。请@Basic@symbol引起他的注意,将他的评论作为答案发布,然后接受它。@AlexK。很有魅力:谢谢。张贴为回答这是一个很好的选择。如果Basic的选项不起作用,我会记住这一点。这段代码非常有用,但由于某些原因,我只得到一个结果,它始终是选定的默认录制设备。waveOutGetNumDevs始终返回1。有什么想法吗?哇,废话。我想出来了。它应该是waveInGetNumDevs。还是一个很大的帮助!谢谢哦,对不起,我的错,不过我已经修好了。