在NAudio中使用signalGenerator时,我尝试更改sampleRate。但它是只读的,有原因吗
我能毫不费力地改写它吗?
public void MaakGeluid(int sampleRate) {
waveOut = new WaveOut();
waveOut.DesiredLatency = 100;
sg = new SignalGenerator();
sg.Frequency = Frequency;
sg.WaveFormat.SampleRate = sampleRate;
sg.Type = Sgt;
waveOut.Init(sg);
}
否,必须在SignalGenerator构造函数中指定采样率。ISampleProvider不能简单地动态更改其采样率,因为您的WaveOut将期望该采样率的数据。
不过,您可以在播放时更改信号发生器的频率。