0

我正在使用 libsndfile 做一些简单的简单程序,目前并试图找到一种在音频文件中打印静音的方法——而不是从另一个文件中静音。从表面上看,我正在制作鼓机。在给定的时刻,如果我愿意,我只能写入输入音频文件的长度并将它们附加到彼此上。很想对这个看似超级简单的任务有更多的了解……或者如果它实际上如此简单,那就是一记耳光。

谢谢!

4

1 回答 1

1

音频文件中的静音只是一堆连续的零值样本。

在文件的当前写入位置插入 N 帧静默很简单:

void sf_insert_silence (SNDFILE *file, int channels, int frames)
{ short silence [frames * channels];

  memset (silence, 0, sizeof (silence));
  sf_writef_short (sndfile, silence, frames);
}
于 2013-06-16T02:49:35.687 回答