更改缓冲区大小一定的秒数

时间:2015-02-23 01:57:11

标签: c++ audio signal-processing

我的问题是,给定一个int16_t缓冲区的缓冲区[128];用于采样和播放48kHz = Fs的音频信号,如何更改缓冲区大小,使缓冲区只存储0.25s的数据。

这就是我的想法,但鉴于我的硬件经验,我无法证明这一点:

  • 如果我在48kHz采样,我有48000个样本/秒。因此,要获得仅1/4秒(12000个样本?),我的缓冲区大小将是int16_t buffer [32]

我对硬件知之甚少,因此非常感谢任何指导/指导或帮助。提前谢谢!

1 个答案:

答案 0 :(得分:1)

floor(25*48000/100)

ans =

       12000

所以你需要int16_t buffer[12000]来获得0.25秒的音频。

如果你实时做某事,这个大小的缓冲区会导致不希望的延迟。