重复使用蜂鸣声(频率,持续时间)

时间:2013-09-26 14:12:25

标签: vb.net beep

我已经提出了一个与我正在进行的同一项目有关的问题。我正在尝试做的是创建一架钢琴,并通过按指定的键或单击按钮将钢琴演奏到正确音符的位置。

到目前为止,它有效,但有限制,我还没有找到解决方法。通过这个站点,我找到了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

1 个答案:

答案 0 :(得分:0)

只要按下按键就可以轻松播放。

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

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

关于哔哔声方法的事情,是最后我检查它使用主板上的扬声器,而不是你的实际扬声器。我可能是错的,但似乎你不能一次得到多个音调。尝试this之类的内容,或者只是自己动手制作一个合适的音频播放库。应该可以用。来创建和弦。