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

最佳答案

要生成哔哔声,请查看 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);
    }
}

关于c# - 在音频文件中添加给定持续时间的哔哔声或静音 || NAudio || C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50505046/

10-10 16:16