我在使用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
这给了我这个错误:
答案 0 :(得分:1)
我猜想alcGetIntegerv返回的样本数量大于SSIZE ......