我正在使用 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/