ios - Mischen von MIDI-Dateien mit jeweils eigener Sound-Schriftart
Ich suche nach einer Möglichkeit, zwei oder mehr Midi-Dateien mit jeweils eigenen Sound-Font-Dateien zu mischen. Ich habe den folgenden Code für eine Datei gefunden und versucht, mehrere Musik-Player zu erstellen, aber ich denke, das sollte nicht der richtige Ansatz sein. Außerdem bekomme ich jede Sekunde etwas seltsamen Pop-Sound.
Gibt es also einen anderen Weg, vielleicht ohne den Musikplayer und die Musiksequenzmethoden, nur mit Au-Units?
Hier ist der Code, den ich in einem anderen Thread gefunden habe:
-(void) playMusic:(NSString*) name
{
NSString *presetURLPath = [[NSBundle mainBundle] pathForResource:@"GortsMiniPianoJ1" ofType:@"SF2"];
NSURL * presetURL = [NSURL fileURLWithPath:presetURLPath];
[self loadFromDLSOrSoundFont: (NSURL *)presetURL withPatch: (int)3];
NSString *midiFilePath = [[NSBundle mainBundle] pathForResource:name ofType:@"mid"];
NSURL * midiFileURL = [NSURL fileURLWithPath:midiFilePath];
NewMusicPlayer(&musicPlayer);
if (NewMusicSequence(&musicSequence) != noErr)
{
[NSException raise:@"play" format:@"Can't create MusicSequence"];
}
if(MusicSequenceFileLoad(musicSequence, (CFURLRef)midiFileURL, 0, 0 != noErr))
{
[NSException raise:@"play" format:@"Can't load MusicSequence"];
}
MusicPlayerSetSequence(musicPlayer, musicSequence);
MusicSequenceSetAUGraph(musicSequence, _processingGraph);
MusicPlayerPreroll(musicPlayer);
MusicPlayerStart(musicPlayer);
}