如何使用NAudio将两个wav音频文件与30秒的白色声音连接起来

时间:2018-01-25 08:19:00

标签: audio audio-streaming naudio

我需要连接两个wav音频文件,它们之间有30秒的静音。

我想使用NAudio库 - 或者使用任何其他工作方式。

怎么做?

(与任何其他问题的不同之处在于我不仅需要从两个不同的音频文件制作一个音频文件..我还需要在它们之间添加静音)

1 个答案:

答案 0 :(得分:1)

假设您的WAV文件具有相同的采样率和通道数,您可以使用FollowedBy进行连接,并使用SignalGenerator结合Take来获取白噪声。

var f1 = new AudioFileReader("ex1.wav");
var f2 = new SignalGenerator(f1.WaveFormat.SampleRate, f1.WaveFormat.Channels) { Type = SignalGeneratorType.White, Gain = 0.2f }.Take(TimeSpan.FromSeconds(5));
var f3 = new AudioFileReader("ex3.wav");
using (var wo = new WaveOutEvent())
{
    wo.Init(f1.FollowedBy(f2).FollowedBy(f3));
    wo.Play();
    while (wo.PlaybackState == PlaybackState.Playing) Thread.Sleep(500);
}