我正在创建一个 MIDI 钢琴,在其中我使用 atransmitter
来接收 MIDI 键盘按键,并receivers
在进行一些字节操作后将这些消息发送到扬声器。
我的问题是我想检测用户是否按住键。如果用户按住一个键,则该音符应保持不变。如果不是,则该音符应逐渐消退为静音。
Java MIDI 没有我可以调用的发送器方法,例如isRunning()
,或者isActive()
说是发送器,即用户正在按住一个键。有什么办法可以检测到这个吗?
在我的代码中,我有一个无限while
循环,它不断检查是否transmitter
已向 发送任何数据receiver
,是否已处理该数据,否则什么也不做。但是,当按下并按住 MIDI 键盘上的某个键时,MIDI 数据会在按下该键时发送到接收器,但是当 while 循环再次开始时,由于键被保持在原位,因此不会接收到 MIDI 数据。