2008-10-16 15 views
1

我有一個10秒的音效波形文件。我想要做的是取出該文件並重復n次,然後將較長的WAV文件保存到磁盤。通過這種方式,我可以創建更長的背景效果,而不是在媒體播放器上自動重複播放,這在重複播放之間有點困擾。我正在嘗試在C#中執行此操作。在C中的WAV文件自動重複#

回答

2

如果你只需要用少量的文件做到這一點,你也可以用Audacity手動完成。

3

考慮到WAV file format這是相當容易做到的 - 假設它是未壓縮的音頻(大多數WAV文件是 - 或者至少是他們最後一次與我們有任何關係)。

很可能有音頻API可以用來做到這一點而不會陷入二進制格式,但我懷疑他們會花時間學習,只是自己做,因爲你沒有做任何特別複雜的事情。

0

如果您使用的是.Net 2.0或更高版本,那麼您可以使用System.Media.SoundPlayer類,特別是其PlayLooping方法來實現您想要的沒有任何口吃。這比創建一個新的wav文件更好 - 它意味着文件的磁盤空間更少,呈現聲音所需的內存也更少。一般來說,如果聲音會循環播放或長於幾秒鐘,則應始終使用此類緩衝技術進行音頻播放。

0

您可以在C#中使用NAudio .NET音頻庫輕鬆完成此操作。您需要使用WaveFileReaderWaveFileWriter類。您也可以使用它來創建自定義WaveStream,可以根據需要多次循環播放音頻,而無需創建長WAV文件。