naudio Midi 输入 - 将 e.MidiEvent 过滤为仅 data2 参数?
Posted
技术标签:
【中文标题】naudio Midi 输入 - 将 e.MidiEvent 过滤为仅 data2 参数?【英文标题】:naudio Midi input - filter e.MidiEvent to just data2 parameter? 【发布时间】:2017-03-29 02:34:15 【问题描述】:使用 naudio 编写一个接受 MIDI 输入的应用程序。设法让 midi 输入正常输出到控制台,但要使用数据,我需要能够隔离部分数据。我的代码是
void midiIn_MessageReceived(object sender, MidiInMessageEventArgs e)
Console.WriteLine(e.MidiEvent);
将以下行写入控制台。
0 ControlChange Ch: 1 Controller 48 Value 51
这很好,但是我如何只获取 data2(值)然后传递给某些东西?我可以做一些可怕的事情,比如把它切成一个字符串,但这可能不是前进的方向......
【问题讨论】:
【参考方案1】:你必须从消息信息中获取 MIDI 消息:
void midiIn_MessageReceived(object sender, MidiInMessageEventArgs e)
MidiEvent me = e.MidiEvent;
然后你必须检查正确的消息类型:
ControlChangeEvent cce = me as ControlChangeEvent;
if (cce != null)
并处理它:
Console.WriteLine(cce.ControllerValue);
【讨论】:
耶!就是那个。干杯:)以上是关于naudio Midi 输入 - 将 e.MidiEvent 过滤为仅 data2 参数?的主要内容,如果未能解决你的问题,请参考以下文章