2012-09-22 172 views
1

我希望能夠將多個音軌合併到一個文件中,但不知道該怎麼做。我需要能夠做到以下幾點:C++音頻混合

  • 我需要有多個音軌同時播放,並且必須改變在不同點每首曲目的音量,

  • 我需要一些曲目在不同的時間開始,

  • 而且我需要能夠將結果寫入文件。

我不確定使用什麼庫,如果任何人有一個有益的建議。

+5

將「C++音頻庫」打到您喜歡的搜索引擎中。 –

+0

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

+0

根據您想要去的程度有多低,您可以自己使用,例如, 'libvorbis'。混合音頻軌道可以通過添加每個軌道的樣本(每個通道)的值來獲得最終的輸出樣本值。如果此值太大,則需要剪切。 – Cameron

回答

2

沒有人回答這個問題,所以我會發布我最終做的事情。我先嚐試使用libffmpeg,但開始工作太困難了。因此,我使用了LGPL下的libsndfile。這非常簡單,但這意味着沒有什麼雜亂的東西可以混在一起。唯一的問題是它不能使用MP3格式,所以我只需以編程方式調用ffmpeg.exe並將MP3文件轉換爲FLAC並加載它們。這不是完美的,但它會做。