【发布时间】:2015-07-15 12:32:56
【问题描述】:
我正在构建一个程序,该程序需要录制音频并实时或半实时地对其进行分析(录制短音频位并在一次录制时对其进行分析)。
我编写了用于打开和分析 WAV 文件的代码(使用 libsndfile 库)。
现在我无法编写用于从 PC 麦克风录制的代码并将其保存到缓冲区/WAV 文件中。 我尝试使用此示例 - http://www.techmind.org/wave/。但我不知道如何将录制的缓冲区保存到 WAV 或如何使用录制的数据本身。
项目的要求是用C语言和windows编写。
我正在为此目的寻找一个高效的库。
编辑:在使用以下代码将数据从 16 位转换为双倍后,我设法将数据另存为 WAV:
for (int i = 0; i < size; i += 2)
{
int c = (waveIn[i + 1] << 8) | waveIn[i];
double t = c / 32768.0;
data[i] = t;
}
但是,录音非常嘈杂且不清楚。有什么建议吗?
谢谢
【问题讨论】:
-
我不是 OP,但为什么这被否决了?我对这样的问题很感兴趣
标签: c windows audio audio-recording