C++ 中的录音

Posted

技术标签:

【中文标题】C++ 中的录音【英文标题】:Audio Recording in C++ 【发布时间】:2010-06-08 12:52:07 【问题描述】:

我想知道,在 C++ 中进行音频录制/播放/搜索有什么好的跨平台实用程序?我在考虑走 ALUT (OpenAL) 的路线,但有更好的方法吗?如果没有,你们知道 ALUT 有什么好的教程/示例代码吗?

【问题讨论】:

您在寻找跨平台库吗? 【参考方案1】:

SFML 和SDL 支持播放许多不同的声音格式并且是跨平台的。它们都没有为您提供录制音频的方法。然后是PortAudio,它看起来很活跃,但我一点经验都没有。

【讨论】:

显然他们最近在 OpenAL 中添加了录音功能(根据文档),不确定这有多好。 @Cenoc,谢谢。显然我应该看看实现而不是依赖邮件列表帖子。编辑。 顺便说一句,PortAudio 非常好。 (我试过Qt音频支持,太少了,OpenAL,太多了,PortAudio刚刚好)。【参考方案2】:

Qt 实际上从 4.6 版本开始就有了一些音频功能。

没有自己尝试输入,但如果您在Qt-Documentation 中向下滚动一点 有一个基本的例子。

对于输入,您可以使用 Qt 处理更高的层。这是example。

【讨论】:

如果独立于Qt就好了? 反正你要使用库 - Qt 有什么问题? 好吧,我找不到搜索功能?我想这是一个问题。 出于寻求原因编辑了我的答案。 声子库,据我所知,只播放带有编解码器的结构化文件,而不是 PCM……如果有办法从 PCM 转换为可用的编解码器,那很好,我想。

以上是关于C++ 中的录音的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中的录音设备上播放声音

Swift 中的实时录音

为啥我的 iOS 录音回调中的音频缓冲区未满?

枚举 NAudio 中的录音设备

如何根据录音中的采样率计算 FFT 点

录音机中的暂停功能