2015-09-28 60 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); 
    } 
}