谁能告诉我portaudio回调函数变量framesperbuffer是什么?如果我想通过 PA_WriteStream() 每次迭代播放 64 字节数据的音频流,那么我应该在framesperbuffer中输入什么值?
同样在lsbsndfile
库中,读取波形文件的函数需要提供具有名称框架的变量。IE
samples=sf_readf_float(file,fptr,frames);
如果我输入 frames=256 那么 fptr 中总是返回 64 个样本,其余的都是垃圾,而 read 函数的返回值是 256。我已经检查了以下代码
memcpy(array,fptr,samples); //samples returned are 256 always but first 64 contain data
现在数组 [0] 到数组 [63] 包含值,数组 [64] 到数组 [255] 在文件读取的每次迭代中包含空值。现在我必须将读取的数据写入 portaudio 音频播放功能,然后应该填充什么framesperbuffer 。
同样在某些情况下,我需要处理数据并将样本减少到 32(当我消耗两个样本以形成一个输出样本时)那么我应该在framesperbuffer变量中输入什么值?