在C ++程序中,我正在尝试对8192个音频样本(-32768 ... 32767)的块进行缩减采样。 原始采样率为48kHz,我想要16kHz。
如果原始样本数为8192,则16/48的比率应该产生大约2731个样本。
我尝试使用libav,对每个8192个输入样本块使用此代码:
struct AVResampleContext* ctx = av_resample_init(16000,48000,16,10,1,1.0)
av_resample(ctx,dataIn,dataOut,&samplesConsumed,8192,2731,0)
这似乎在某种程度上起作用 - 但是最后30个样本在2731个样本的每个输出块中都是零,所以总是可以在这里“听到咔嗒声”
我在这里做错了什么?
非常感谢您的帮助!