[英]Sound chords in C#?
我已经尝试以低毫秒速率使用Console.Beep()两个“同时”播放两个频率,但是蜂鸣声之间的暂停会使它失效。 我已经尝试过研究但是我什么也没找到,除了我正在寻找的DirectSound之外,我不知道从哪里开始。 我所需要的只是制作一个程序,用一个扬声器同时播放两个或多个频率,在C#中。
谢谢。
我建议你看看DirectSound,它有很好的.NET绑定。 您可以使用两个(或更多) Buffer
对象并调用其Play
方法来同时播放它们。
本教程介绍如何通过动态合成声音在C#中实现简单的鼓机。 希望能帮助到你。
尝试使用MIDI。 这个例子可以帮助你入门。 它使用了一些人们高度推荐的MIDI库。
Console.Beep()是同步的,直到声音结束才返回。
试试Simple DirectMedia Layer( SDL.net )。
这里有一些非常简单的示例代码,可以让您播放WAV或MIDI文件。 这样,您可以编写代码一次,然后只需要维护wav或mid文件,如果您想更改声音效果。
播放任何声音文件 - C# (使用DirectX 9.0作为托管代码)
如果您事先知道频率,可以将它们合成为波形文件(大胆或其他类似程序),然后使用SoundPlayer类播放波形文件。
string path = /*path goes here*/;
player = new SoundPlayer(path);
player.Play();
如果需要在运行时合成它们,则必须手动编写文件。 这是一个可以参考构建wave文件的SO问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.