我已经提出了一个与我正在进行的同一项目有关的问题。我正在尝试做的是创建一架钢琴,并通过按指定的键或单击按钮将钢琴演奏到正确音符的位置。
到目前为止,它有效,但有限制,我还没有找到解决方法。通过这个站点,我找到了beep(freq, duration)
命令,我一直在使用它。该命令限制了它一次只能做一个音符的位置,所以如果我浏览所有音符,它将落后于它在设定的持续时间播放每个音符。
我要做的是,只要按下按钮,或者按下按键,就可以播放音符,但也可以一次播放多个音符。我知道大多数键盘的硬件限制,但我至少希望能够同时按下3个键,并且在相同的时间生成和播放所有三个音符,而不是在它通过其设置后背靠背持续时间。
我一直在使用的代码:
Beep(GlobalVariables.frqD, intDuration)
将Beep声明为:
Private Declare Function Beep Lib "kernel32" (ByVal soundFrequency As Int32, ByVal soundDuration As Int32) As Int32
答案 0 :(得分:0)
只要按下按键就可以轻松播放。
while(keypressed)
{
beep(freq,millisecond);
}
真正短暂的哔哔声的频率应该让它听起来像一个音符(时间频率,而不是听觉频率,aha)。
关于哔哔声方法的事情,是最后我检查它使用主板上的扬声器,而不是你的实际扬声器。我可能是错的,但似乎你不能一次得到多个音调。尝试this之类的内容,或者只是自己动手制作一个合适的音频播放库。应该可以用。来创建和弦。