Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Qt的录音系统_C++_Qt_Audio - Fatal编程技术网

C++ 使用Qt的录音系统

C++ 使用Qt的录音系统,c++,qt,audio,C++,Qt,Audio,我对录制系统声音有疑问(不是麦克风,而是整个系统的声音-所有从PC传到扬声器的声音)。我知道通常我应该使用WASAPI或BASS,但是WASAPI有如此糟糕的文档(至少对我来说),以至于我不知道他们到底想让我做些什么来实现这一点。与优秀的Qt样本相比,BASS文档也不那么吸引人 有没有Qt包装器或类似的东西可以让我不用直接使用WASAPI就可以简单地捕获端点音频?如评论中所述,在显示隐藏设备并从控制面板中的声音设置启用“立体声混音”录制设备后,该设备将随时可用于Qt 您可以快速查询系统以验证:

我对录制系统声音有疑问(不是麦克风,而是整个系统的声音-所有从PC传到扬声器的声音)。我知道通常我应该使用WASAPI或BASS,但是WASAPI有如此糟糕的文档(至少对我来说),以至于我不知道他们到底想让我做些什么来实现这一点。与优秀的Qt样本相比,BASS文档也不那么吸引人


有没有Qt包装器或类似的东西可以让我不用直接使用WASAPI就可以简单地捕获端点音频?

如评论中所述,在显示隐藏设备并从控制面板中的声音设置启用“立体声混音”录制设备后,该设备将随时可用于Qt

您可以快速查询系统以验证:

auto info = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
foreach (auto i, info) qDebug() << i.deviceName();

从那时起,您可以跟踪Qt和。

windows上的Qt仍然毫无希望地卡在MME上。那么,有什么方法可以不分析这些可怕的M$提供的样本而实现这一简单方法呢?Qt的方法很简单——只给出一部分代码,这些代码做了一件特殊的事情,并带有简短的注释,为什么是这样的。大多数情况下,这是不言自明的。同时,M$提供了一个可以同时做几件事的示例,让你独自面对“一两个月,你会猜出里面是什么,为什么会是这样”。好吧,它应该仍然适用于MME。问题是,在windows中,立体声混音录制在默认情况下是禁用的。因此,请转到“控制面板”中的“录音设备设置”,右键单击麦克风和线路下方的空白区域,选择“显示禁用的设备”,然后启用它。之后,它应该对Qt.Hmm可见,程序是否会自动启用它?我的意思是-我希望它是相当便携的,并且需要用户最少的干预。启用此设备并不像安装第三方音频驱动程序那样糟糕,第三方音频驱动程序在作为端点音频记录器时模拟麦克风,我的意思是->。但它仍然不是“我点击它就工作了!耶!”。事实上,我命令它显示禁用的设备,但我仍然没有看到任何新的。不是从Qt。它只使用系统提供的功能。这可能来自M$API——我不知道,我尽可能避免使用他们的东西。但是我没有看到新设备,这正常吗?在我命令显示隐藏后,实际上没有什么可以启用的。没有什么新的。在这种情况下,您的设备驱动程序可能不支持它。这是一个问题-如果不仅我的驱动程序不支持它怎么办?它不是一个经常使用的功能。获取一个信号分离器,一根额外的电缆,将分离器插入line out,将一端插入扬声器,另一端插入line in,即可设置。顺便说一句,我这里还有一个1000美元的专业USB音频接口,它也不支持立体声输出录音。
"Microphone (Realtek High Defini"
"Stereo Mix (Realtek High Defini"