C#中的WAV文件自动重复

时间:2008-10-16 20:07:43

标签: c# audio media wav

我有一个10秒的音效波形文件。我想要做的是获取该文件并重复多次,然后将较长的WAV文件保存到磁盘。通过这种方式,我可以创建更长的背景效果,而不是在媒体播放器上自动重复,这在重复之间有点结果。我试图在C#中做到这一点。

4 个答案:

答案 0 :(得分:3)

考虑到WAV file format,这很容易做到 - 假设它是未压缩的音频(大多数WAV文件是 - 或者至少,它们是我上次与它们有任何关系)。

你可以使用音频API来实现这一目标,而不会陷入二进制格式,但我怀疑他们需要花费很长时间才能学习,因为你没有做任何特别复杂的事情。 / p>

答案 1 :(得分:2)

如果您只需要使用少量文件执行此操作,您也可以使用Audacity手动执行此操作。

答案 2 :(得分:0)

如果你使用的是.Net 2.0或更高版本,那么你可以使用System.Media.SoundPlayer类,特别是它的PlayLooping方法来实现你想要的,没有口吃。这比创建新的wav文件更好 - 这意味着文件的磁盘空间更少,渲染声音所需的内存更少。一般情况下,如果声音循环或超过几秒钟,你应该总是使用这样的缓冲技术进行音频播放。

答案 3 :(得分:0)

您可以使用NAudio .NET音频库在C#中轻松完成此操作。您需要使用WaveFileReaderWaveFileWriter类。您还可以使用它来创建自定义WaveStream,它可以根据需要多次循环您的音频,而无需创建长WAV文件。