问题标签 [rtaudio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 为什么 WASAPI 比 ASIO 慢这么多?
我用示波器测量了RtAudio
双工模式示例的往返延迟。结果平均为打击,
ASIO 15 毫秒
WASAPI 50 毫秒
为什么 WASAPI 这么慢?互联网上的所有文件都说它们具有相同的性能。
操作系统:Windows 7 旗舰版
编译器:VC2013
c++ - 为什么线程中缓冲区的更改不会反映在 mainThread 上的缓冲区中?
我正在尝试通过 RtAudio Api 从声卡接收音频。它有一个回调函数,一旦音频接收到足够的字节,就会调用该函数,然后用户可以将数据复制到自定义对象。这个自定义对象可以通过指针发送到回调。我封装 RtAudio 的类如下所示:
这是从音频线程内部调用的静态函数的实现
我在线程之间共享的自定义对象属于 AudioData 类,如下所示:
音频对象嵌入到 Recorder-Object 中,然后读取 Audio 的 AudioData 成员变量中的缓冲区。
函数 record(..) 如下所示:
我读到堆是保存线程之间共享的数据的地方,但在 rtaudio 的示例中,他们使用在堆栈上分配的全局变量将数据推送到Link。所以我有点困惑。我们很乐意接受帮助!
编辑:当我调试我的应用程序时。我可以看到音频线程的输入函数被调用并写入缓冲区。记录功能也按预期工作。只有缓冲区(AudioData)似乎没有任何数据......
Edit2:这是我在 rtaudio api 中注册回调的代码。
c++ - 没有找到 .lib 和 .dll,但有 .h
所以我尝试使用RtAudio实时读取麦克风输入,但问题是当我下载.zip文件时,我找到了头文件但没有.lib文件或dll,我需要它们链接我的项目,他们在哪里?
我是cpp的初学者:)
这是 RtAudio https://github.com/thestk/rtaudio
c++ - 使用 qmake 与 jack 链接
我在同一台机器上有两个类似的项目。它们的区别在于一个使用 GUI(Qt 和 Qwt)而另一个不使用。结果,一个有Qt的是用qmake编译,另一个是cmake。
该项目本身是关于信号处理和音频处理的。我决定使用RtAudio来捕获音频信号。当我使用 cmake 编译时,我可以很好地编译和运行示例代码,但是当我尝试使用 qmake 编译另一个项目时,它会失败。
问题是jack
使用 qmake 编译时找不到的(音频库)。但首先,让我们从可行的项目开始。这是我的CMakeLists.txt
文件中的内容:
(同样,工作得很好)。然后我得到了这个qwt_test.pro
:
我得到的错误是:
我的问题是,如何将使用 qmake 的项目与 jack 链接?
c++ - 使 RtAudio 使用插孔进行音频捕获
我正在尝试在 Linux 中使用 RtAudio。首先,我在启用插孔的情况下对其进行了编译:
然后我找到了一个小例子来测试 RtAudio:
这个例子没有做任何特别的事情。它只会尝试录制一些音频,甚至不会等待它捕获任何内容,它会立即退出。我第一次运行此代码时,它运行并退出,没有任何错误。但是第二次,它会出错:
如果我想摆脱这个错误,我必须重新启动机器。
我必须承认,有时它会在重新启动后再次起作用。但在大多数情况下,它会出错。正如我一直试图了解问题所在,在 Linux 中似乎jack
可以用来确保没有软件会保留音频资源,并且多个进程可以同时使用音频资源。如果是这种情况,考虑到我已经在启用插孔的情况下编译了 RtAudio,为什么我仍然面临这个错误,我该如何解决?
顺便说一句,即使我的代码遇到此错误,arecord
也可以毫无问题地录制声音。