【发布时间】:2023-03-20 05:59:01
【问题描述】:
我注意到 pcm.c 和 speaker-test.c 中的正弦发生器在循环中生成了一个新的正弦缓冲区。所以它不断地重新创建相同的缓冲区。我想播放缓冲区而不是每次都重新创建它以节省一些 cpu 时间。但是,当我尝试通过首先构建缓冲区然后将相同的缓冲区发送到 snd_pcm_writei 来运行代码时,我在每个缓冲区的末尾都会听到一点咔哒声。但是,当它每次都被重建然后发送到 snd_pcm_writei 时,缓冲区末尾没有一点点击。为什么每次播放前都需要重建正弦缓冲区,以免产生咔嗒声?
任何帮助将不胜感激?
来自 pcm.c:
while (1) {
generate_sine(areas, 0, period_size, &phase);
ptr = samples;
cptr = period_size;
【问题讨论】:
标签: alsa