使用 QAudioRecorder 时禁用创建 wav 文件

Posted

技术标签:

【中文标题】使用 QAudioRecorder 时禁用创建 wav 文件【英文标题】:Disable creating wav file when using QAudioRecorder 【发布时间】:2017-03-21 21:47:26 【问题描述】:

我正在开发应用程序,女巫可以从麦克风中采样音频。我使用 QAudioRecorder 和 QAudioProbe 进行采样。一切正常。但我刚刚意识到 QAudioRecorder 将录制的音频保存到我的文档中。也许我应该改用 QAudioInput。如果必须,我会再做一次。但是,有没有办法禁用该音频文件的创建?我有我的样品。我的硬盘上不需要它们。谢谢你的帮助。

【问题讨论】:

您可以将输出位置更改为临时文件或/dev/null,但如果您不想记录某些内容,使用名称中包含“Recorder”的类似乎有点奇怪. 我知道这很奇怪。但是这个解决方案让我可以控制有多少样本将传递给 fft(我需要固定大小的数组)。 QAudioInput 只有毫秒的时间信号。 它不是有线IMO,因为它记录,只是不直接到文件。 【参考方案1】:

不幸的是,QAudioRecorder 固有的存储位置,您必须使用较低级别的方式来“捕获音频”而不将其存储到磁盘。

这是使用QAudioInput 的最小示例:http://doc.qt.io/qt-5/qtmultimedia-multimedia-audioinput-example.html

【讨论】:

感谢您的建议。当缓冲区已满时,我没有找到任何发出信号的方法。当缓冲区被填满时,程序将其复制到合并数组中,用于 50% 的重叠。这是我功能齐全的程序...唯一的问题是在 GitHub 上创建了 file。我不知道如何使用 QAudioInput 做到这一点。

以上是关于使用 QAudioRecorder 时禁用创建 wav 文件的主要内容,如果未能解决你的问题,请参考以下文章

QAudioRecorder 检测到用户不说话并停止

QT学习_录音功能

如何在 vim 中禁用内置命令

在没有 R/W 保护的情况下闪烁代码后 STM32 闪烁禁用

Android:如何在创建列表时禁用列表项

发布时禁用 AWS SNS EndPoint