2008-10-16 19 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文件。