0

我使用 MIKMIDI 发送组合的 NRPN 命令。我正在尝试发送这种风格的 NRPN

B9H 63H 40H || B9H 62H 64H || B9H 06H 7FH (hex)

这是

B9 99 64 || B9 98 100 || B9 06 127 (dec)

我尝试以这种方式创建

// create the MSB and LSB command
MIKMutableMIDIControlChangeCommand *msb = [[MIKMutableMIDIControlChangeCommand alloc] init];
msb.channel          = 9;
msb.controllerNumber = 99;
msb.controllerValue  = 64;
MIKMutableMIDIControlChangeCommand *lsb = [[MIKMutableMIDIControlChangeCommand alloc] init];
lsb.channel          = 9;
lsb.controllerNumber = 98;
lsb.controllerValue  = 100;
// compose the full command
cmd = [MIKMutableMIDIControlChangeCommand commandByCoalescingMSBCommand:msb andLSBCommand:lsb];
cmd.channel          = 9;
cmd.controllerNumber = 6;
cmd.controllerValue  = 127;

但它返回一个 nil 指针。

我究竟做错了什么?

4

1 回答 1

0

commandByCoalescingMSBCommand文档说:

MIKMIDI 在内部使用此方法来合并传入的 14 位控制更改命令。它通常对 MIKMIDI 的外部用户没有用。如果你只是想创建一个新 MIKMIDIControlChangeCommand实例,你应该使用普通的alloc/init代替。

于 2016-11-07T15:09:26.350 回答