Che*_*hev 8 .net c# audio winforms
是否有可能在C#中产生一个恒定的声音并随着它的频率操纵它的频率?
我试过这样的事情:
for (int i = 500; i < 15000; i += 1)
{
Console.Beep(i, 500));
}
Run Code Online (Sandbox Code Playgroud)
但是同步,循环等待每个蜂鸣声完成.所以我尝试了这个:
for (int i = 500; i < 15000; i += 1)
{
new Thread(x => Console.Beep(i, 500)).Start();
}
Run Code Online (Sandbox Code Playgroud)
我认为这将是产生频率不断增加的恒定声音的开始.然而,它仍然口吃.有没有办法实现这一目标但更顺利?
如果您想要实时执行此操作(即根据用户输入动态更改频率),这将非常困难,并且需要您编写软件合成器.在这种情况下,您可能想尝试使用像NAudio这样的库(尽管我不是100%肯定NAudio会进行实时合成).
另一方面,如果你只想预先生成一个具有连续提升音调的WAV文件然后播放它,这非常容易.
编辑:第三种方法是播放MIDI声音并将控制变更信息发送到MIDI设备,以逐渐将portmanteau应用于演奏音符.这也很容易,但缺点是你无法确定它在其他人的计算机上的确切声音.
归档时间: |
|
查看次数: |
5542 次 |
最近记录: |