2

我正在尝试创建一架钢琴,它可以通过按指定的键或单击按钮来演奏正确的音符。

到目前为止,它使用该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 
4

1 回答 1

0

只要按下键,就可以轻松演奏。

while(keypressed)
{
    beep(freq,millisecond);
}

真正短哔声的频率应该使它听起来像一个音符(时间频率,而不是听觉频率,啊哈)。

不过,关于哔声方法的问题是,我上次检查它使用的是主板上的扬声器,而不是您的实际扬声器。我可能是错的,但似乎你一次只能得到一个音调。尝试这样的事情或者只是谷歌自己一个合适的音频播放库。那应该可以创建和弦。

于 2013-09-26T14:23:57.077 回答