在音频文件中添加给定持续时间的哔哔声或静音 || NAudio || C#

Ari*_*dra 4 c# naudio

我正在使用 NAudio 录制和播放音频文件。现在,我想在给定的持续时间内在音频文件中添加静音或蜂鸣声。您能否建议 NAudio 提供商名称以实现它?

Mar*_*ath 7

要生成哔哔声,请查看SignalGenerator,它可以生成正弦波。有一种Take扩展方法可以限制哔声的持续时间。对于静音,您可以使用相同的技术,除了使用SilenceProvider.

这是一个简单的示例,显示两声哔哔声,中间无声:

var beep1 = (new SignalGenerator(){ Frequency = 1000, Gain = 0.2}).Take(TimeSpan.FromSeconds(2));
var silence = new SilenceProvider(beep1.WaveFormat).ToSampleProvider().Take(TimeSpan.FromSeconds(2));
var beep2 = (new SignalGenerator() { Frequency = 1500, Gain = 0.2 }).Take(TimeSpan.FromSeconds(2));
var concat = beep1.FollowedBy(silence).FollowedBy(beep2);
using (var wo = new WaveOutEvent())
{
    wo.Init(concat);
    wo.Play();
    while(wo.PlaybackState == PlaybackState.Playing)
    {
        Thread.Sleep(500);
    }
}
Run Code Online (Sandbox Code Playgroud)