1

我需要在一个音频文件上发出噪音。我有第一个音频(数据)和第二个音频(噪音)。如何在第一个音频上添加噪音以使其循环播放。或者,如果第一个音频比音频噪声短,那么结果就是第一个音频的持续时间。

我举了一个他们教程的例子。但只是一个文件覆盖在另一个文件上。没有循环和长度优化的可能性

using(var reader1 = new AudioFileReader("file1.wav"))
using(var reader2 = new AudioFileReader("file2.wav"))
{
    var mixer = new MixingSampleProvider(new[] { reader1, reader2 });
    WaveFileWriter.CreateWaveFile16("mixed.wav", mixer);
}
4

1 回答 1

2

您可以使用我在此处描述的循环技术来循环较短的文件(然后需要使用ToSampleProvider. 然后使用您的Take扩展方法MixingSampleProvider确保您只读取较长文件的持续时间,因此您不会创建无限大的 WAV 文件。

于 2019-09-05T15:32:57.067 回答