我有2個wav文件,我想用兩個音軌制作/合併/合併成一個文件。以C#合併WAV文件
是否有該任務或.NET可以我可以在索姆天才方式使用,使這個任務可能一些內置店命令的任何API?
非常感謝您的幫助。 :)
我有2個wav文件,我想用兩個音軌制作/合併/合併成一個文件。以C#合併WAV文件
是否有該任務或.NET可以我可以在索姆天才方式使用,使這個任務可能一些內置店命令的任何API?
非常感謝您的幫助。 :)
如果我沒有弄錯,你可以將第二個文件中的字節追加到第一個文件的末尾。如果有任何標題數據,您需要排除該數據(請參閱here)
請注意,您可能會聽到兩個剪輯之間的點擊或彈出,因爲沒有混合。你可以通過衰減來解決這個問題(逐漸減少最近幾ms的值到中心值)。
直截了當的方法是解釋wav文件頭,抽取樣本和交織來自兩個文件中的樣品放入你寫一個新的wav文件新的樣品流。您還可以通過樣本添加兩個源wav文件的樣本值,以將這兩個文件「混合」爲單個軌道。 wav文件格式並不複雜,所以編寫這段代碼不應該太困難。另外,還有很多包含代碼來讀寫wav文件的開源項目。 請注意,這兩個源wav文件有不同的採樣率有點棘手。 查詢this瞭解wav格式的說明。
對不起,我可能有點不清楚。我不想合併它們,所以它們同步播放。我想將曲目附加到對方的尾部,以便在同一個文件中彼此播放一首和一首。
但我想我在this線程中找到了答案。
它完美,它使用的技術前面提到喬恩乙。
是的,你可以只添加第二個波形的數據(不包括其標題)作爲最高審計機關喬恩B,但你也必須修改的第一個文件,以表明新長度的頭,否則某些音頻播放器將停第一部分結束。
對於動態連接,因爲您不知道開始時總的wav的大小,所以您可以在第一個文件的標頭上放置假長度,例如放置10小時的持續時間。
然後,音頻播放器應該等待,直到您追加每個數據。它適用於ffmpeg的至少
你能不能澄清,要兩條軌道合併,這樣他們發揮同步,還是你想一個軌道追加到其他的結束? – RobS 2008-12-04 20:01:15