使用OpenAL(C ++)录制声音。缓冲区大小

时间:2012-12-23 15:07:14

标签: c++ audio microphone openal

我在使用OpenAL库录制声音时遇到一个问题。我在这个问题上读到第二个答案:Recording Audio with OpenAL。但我不明白,我怎么能改变缓冲区大小。如果我将SSIZE和缓冲区大小更改为例如441,则程序将崩溃。如果您知道这个问题的答案,请解释一下,如何获得采样率为96000Hz的1 ms缓冲区。 (阵列中96个元素,1个通道,8位)。请帮帮我。

添加了: 我改变了这个:

const int SRATE = 96000;
const int SSIZE = 96;

ALbyte buffer[SSIZE];
ALint sample;

AL_FORMAT_STEREO16

AL_FORMAT_MONO8

这给了我这个错误: enter image description here

1 个答案:

答案 0 :(得分:1)

我猜想alcGetIntegerv返回的样本数量大于SSIZE ......