现在,我成功地创建了一个 MIKMIDISequence 序列。但是,我找不到如何将声音字体与该序列联系起来的方法。我的问题是,如何为 MIKMIDISequence 分配音色?
最佳答案
与其在序列上设置音色,不如使用 -loadSoundfontFromFileAtURL:error:
MIKMIDISynthesizer
来做到这一点。
假设您正在使用 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);
}
}
关于ios - 在 MIKMIDI 中使用 soundfonts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816941/