【发布时间】:2020-07-22 12:43:41
【问题描述】:
我正在学习 c# 和 NAudio。在我的项目中,我需要使用衰减包络播放一系列短音。看起来 ADSR Envelope 样本提供程序会执行此操作,但我似乎无法使其与信号发生器一起使用。当我设置释放时间时,我只是得到一个恒定的音调。 谁能告诉我我做错了什么? 这是一个非常简单的控制台应用程序,我正在尝试使用它来测试它:
class Program
{
public SignalGenerator wg;
public IWavePlayer driverOut;
static void Main(string[] args)
{
// Init Audio
var driverOut = new WaveOutEvent();
var wg = new SignalGenerator();
var adsr = new AdsrSampleProvider(wg.ToMono());
wg.Type = SignalGeneratorType.Sin;
adsr.AttackSeconds = 0;
adsr.ReleaseSeconds = (float)1;
wg.Take(TimeSpan.FromMilliseconds(500));
driverOut.Init(wg);
wg.Frequency = 500 ;
wg.Gain = 0.1;
driverOut.Play();
Thread.Sleep(3000);
}
}
【问题讨论】: