【发布时间】:2016-06-20 16:15:25
【问题描述】:
我即将为一个学校项目编写一个小程序,该程序应该识别通过 MIDI 钢琴输入演奏的和弦(这只是其中的一部分)。
目前为止,在 MIDI 键盘上每次按下和释放一个键,我都会得到一个 ShortMessage 类的对象。
我的问题:如何确定按键是被按下还是释放?
在每种情况下,按下并释放,静态变量 NOTE_OFF 包含值 128,变量 NOTE_ON 包含值 144。
我不明白这应该如何告诉我该键是否已被按下或释放。任何想法?我错过了一个基本的东西吗?
提前致谢。
【问题讨论】:
-
“在每种情况下(按下并释放)静态变量 NOTE_OFF 确实包含值 128” 什么静态变量?
-
只是FWIW,很久以前的非常(我上一次处理MIDI是> 20年前),一些乐器从未发送过“注意关闭”事件。他们以 0 的速度发送“Note On”事件。非常混乱。
-
状态字段(通过继承自
MidiMessage的getStatus()方法可访问)不是可能包含NOTE_ON/NOTE_OFF的字段吗?我很确定它是,但无法测试。