2015-09-28 33 views
1

现在,我成功创建了一个MIKMIDISequence序列。但是,我无法找到如何将声音字体与该序列绑定。我的问题是,我怎样才能分配一个MIKMIDISequence一个soundfont?与MIKMIDI一起使用声音

回答

1

您应该使用MIKMIDISynthesizer-loadSoundfontFromFileAtURL:error:这样做,而不是在序列上设置soundfont。

假设您使用MIKMIDISequencer来播放您的序列,您可以使用-builtinSynthesizerForTrack:上的MIKMIDISequencer获得每个音轨的合成器。请注意,序列中每个轨道都有一个合成器,因此如果您的序列有多个轨道,您可以/应该为每个轨道加载一个soundfont。

喜欢的东西:

for (MIKMIDITrack *track in sequence.tracks) { 
    MIKMIDISynthesizer *synth = [sequencer builtInSynthesizerForTrack:track] 
    NSError *error = nil; 
    if (![synth loadSoundfontFromFileAtURL:soundfontURL error:&error]) { 
     NSLog(@"Error loading soundfont (%@) into synthesizer for track (%@): %@", sondfontURL, track, synthesizer); 
    } 
}