Ios 钢琴MIDI音符发行

Ios 钢琴MIDI音符发行,ios,Ios,我试图通过加载CMP_GrandPiano.sf2文件来播放MIDI音符,但问题是,每次都是同一个音符(不考虑八度音符),这意味着它不能产生正确的音符。有人能帮我整理一下吗 代码: 方法: - (void)handleMIDIMessages:(NSArray *)commands { for (MIKMIDICommand *command in commands) { OSStatus err = MusicDeviceMIDIEvent(se

我试图通过加载CMP_GrandPiano.sf2文件来播放MIDI音符,但问题是,每次都是同一个音符(不考虑八度音符),这意味着它不能产生正确的音符。有人能帮我整理一下吗

代码: 方法:

- (void)handleMIDIMessages:(NSArray *)commands { 
        for (MIKMIDICommand *command in commands) { 
              OSStatus err = MusicDeviceMIDIEvent(self.instrumentUnit, 
                                                  command.statusByte, 
                                                  command.dataByte1, 
                                                  command.dataByte2,
                                                  0); 
        } 
}

请发一些密码。感谢您的回复。我只是从文档目录中加载.sf2文件,并为音频单元设置所有内容。我正在使用MIKMIDI库来完成此操作。您能否显示
连接输入:错误:eventHandler:^(MIKMIDISourceEndpoint,NSArray
函数块?如果我们能看到您在回调函数id connectionToken=[deviceManager connectInput:source error:error eventHandler:^(MIKMIDISourceEndpoint*source,NSArray*命令){强MIKMIDIEndpointSynthesizer*strongSelf=weakSelf;[strongSelf-HandleMidMessages:commands];}];“-(void)HandleMidMessages:(NSArray*)命令{for(MikMidCommand*命令中的命令){OSStatus err=MusicDeviceMidEvent(self.instrumentUnit,command.statusByte,command.dataByte1,command.dataByte2,0);}”
- (void)handleMIDIMessages:(NSArray *)commands { 
        for (MIKMIDICommand *command in commands) { 
              OSStatus err = MusicDeviceMIDIEvent(self.instrumentUnit, 
                                                  command.statusByte, 
                                                  command.dataByte1, 
                                                  command.dataByte2,
                                                  0); 
        } 
}