我需要能够使用C#动态生成波形并播放它,无需任何外部库,也无需将声音文件存储在硬盘上.延迟不是问题; 声音将在应用程序需要之前生成.
实际上,Console.Beep()方法可能满足我的需求,如果不是因为微软表示在64位版本的Windows中不支持它.
如果我动态地生成自己的声音,我可以得到一个比简单的嘟嘟声更精彩的声音.例如,我可以从三角波制作波形,频率从2 KHz增加到4 KHz,同时衰减音量.我不需要花哨的16位立体声,只需8位单声道即可.我不需要动态控制音量和音高,只需在内存中生成一个声音文件并播放它而不存储它.
许多年前,我需要在Apple II,HP工作站和我的旧Amiga计算机上生成声音.从那时起就不需要这样做,而且我所描述的简单的事情似乎变得更加复杂.我很难相信这么简单的东西看起来很难.我看到的大部分答案都是指NAudio或类似的库,这不是这个项目的选项(除了拉动整个库只是为了播放音调这一事实似乎是浪费).