我正在创建一个MIDI钢琴,我在其中使用transmitter
来接收MIDI键盘按键,并且receivers
在一些字节操作后将这些消息发送到扬声器。如何检查变送器是否处于活动状态?
我的问题是,我想检测用户是否按住一个键。如果用户按住一个键,那么该笔记应该被保持。如果他们不是,那么这个音符应该逐渐消失。
Java MIDI没有我可以调用的发送器的方法,例如isRunning()
或isActive()
来告诉是发送器,即用户正在按住一个键。有什么办法可以检测到吗?
在我的代码,我有一个无限循环while
如果transmitter
已发送的任何数据到receiver
(如果有),然后处理这些数据,否则什么都不干。这会不断检查。但是,当按下键并按住MIDI键盘上的按键时,MIDI数据将被发送到接收机,但当while循环再次开始时,由于键保持原位,因此不会收到MIDI数据。