现在,我成功地创建了一个 MIKMIDISequence 序列。但是,我不知道如何将声音字体与该序列联系起来。我的问题是,如何为 MIKMIDISequence 分配声音字体?
问问题
438 次
1 回答
1
而不是在序列上设置声音字体,您应该使用-loadSoundfontFromFileAtURL:error:
ofMIKMIDISynthesizer
来这样做。
假设您正在使用MIKMIDISequencer
播放序列,您可以使用-builtinSynthesizerForTrack:
on获取每个轨道的合成器MIKMIDISequencer
。请注意,序列中的每个轨道都有一个合成器,因此如果您的序列有多个轨道,您可以/应该为每个轨道加载声音字体。
就像是:
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);
}
}
于 2015-12-17T18:42:51.930 回答