C++音频混合

问题描述:

我希望能够将多个音轨合并到一个文件中,但不知道该怎么做。我需要能够做到以下几点:C++音频混合

  • 我需要有多个音轨同时播放,并且必须改变在不同点每首曲目的音量,

  • 我需要一些曲目在不同的时间开始,

  • 而且我需要能够将结果写入文件。

我不确定使用什么库,如果任何人有一个有益的建议。

+5

将“C++音频库”打到您喜欢的搜索引擎中。 –

+0

http://www.un4seen.com/ - Bass || http://www.fmod.org/ - fmod – Caesar

+0

根据您想要去的程度有多低,您可以自己使用,例如, 'libvorbis'。混合音频轨道可以通过添加每个轨道的样本(每个通道)的值来获得最终的输出样本值。如果此值太大,则需要剪切。 – Cameron

没有人回答这个问题,所以我会发布我最终做的事情。我先尝试使用libffmpeg,但开始工作太困难了。因此,我使用了LGPL下的libsndfile。这非常简单,但这意味着没有什么杂乱的东西可以混在一起。唯一的问题是它不能使用MP3格式,所以我只需以编程方式调用ffmpeg.exe并将MP3文件转换为FLAC并加载它们。这不是完美的,但它会做。