使用 NAudio 无法正确生成方波
Posted
技术标签:
【中文标题】使用 NAudio 无法正确生成方波【英文标题】:Square Wave not generating properly usin NAudio 【发布时间】:2020-03-03 08:12:59 【问题描述】:我正在使用 NAudio 播放方波。当我大胆地录制那个声音并检查波形时。
它来不及。
NAudio 生成声音的波形
Audacity 生成声音的波形
我做错了什么吗?
代码
sine20Seconds = new SignalGenerator()
Gain = 0.5,
Frequency = Convert.ToDouble(freqBox1.Text)
;
sine20Seconds.Type = SignalGeneratorType.Square;
wo = new WaveOutEvent();
wo.Init(sine20Seconds);
wo.Play();
【问题讨论】:
您能否将生成(或者更确切地说:不生成)方波数据的代码添加到您的问题中? 已添加代码。@Paul-Jan 谢谢。在您的代码片段中,您使用“sineWave”初始化 WaveoutEvent。这与您刚刚初始化的 sine20seconds 信号发生器不是同一个变量。此外,您为正方形使用了错误的信号发生器类型。 是的,换句话说,发布的代码质量很差。当人们懒得发布完整代码时,这很尴尬。 【参考方案1】:尝试改变
sine20Seconds.Type = SignalGeneratorType.Triangle;
到
sine20Seconds.Type = SignalGeneratorType.Square;
根据instructions here
【讨论】:
抱歉代码错误,我只使用了 SignalGeneratorType.Square 并得到了结果。即使它设置为三角形,输出也不是应该的。 如果使用 Square 枚举,输出是否相同?您可以制作同一个项目或共享整个项目吗?听起来您缺少某些特定的东西,因为 Square 枚举无法生成您所描述的模式。如果您查看源代码,显然情况就是如此。谢谢 这是唯一的代码。我运行它并大胆地记录它,然后检查结果(我分享的)。你可以检查并更新我。 哇,谢谢!你很友善 :-) 说真的 - 完整的文章是最好的。由于您的代码示例有问题,因此许多人会认为您的其余代码也是如此。没有足够的上下文来回答您的问题。以上是关于使用 NAudio 无法正确生成方波的主要内容,如果未能解决你的问题,请参考以下文章