C#使用NAudio库获取MIDI CC对应数值而非枚举名称方法问询
解决方案
- 直接读取CC编号
ControlChangeEvent的Controller属性为MidiController枚举类型,C#枚举默认ToString()返回成员名称,要获取底层数值直接强转为int即可:
int ccNumber = (int)cce.Controller;
运行代码后即可拿到CC1对应的数值1。
- 从枚举字符串解析获取编号
如果仅有控制器名称字符串,可先解析为MidiController枚举,再强转为int得到对应编号:
string controllerName = "Modulation"; if (Enum.TryParse<MidiController>(controllerName, out MidiController targetController)) { int ccNumber = (int)targetController; // 业务逻辑处理 }
内容的提问来源于stack exchange,提问作者ALEXANDRE DA Leitao
相关产品推荐
相关产品推荐

