He IOS para jugar un .mid (MIDI) presentar con una muestra soundfont usando el siguiente código conseguido con éxito:reproducir archivos MIDI con el Reproductor Musical & Music Secuencia
-(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);
}
Sin embargo, el problema viene cuando a continuación, intente reproducir un segundo archivo cuando el primero se esté reproduciendo.
He intentado muchas variaciones. En primer lugar, el código anterior reproducirá ambas pistas simultáneamente. O, lo he intentado:
DisposeMusicPlayer(musicPlayer);
DisposeMusicSequence(musicSequence);
Antes de la NewMusicPlayer(&musicPlayer)
, pero esto produce una extraña versión de la sintonía con notas sólo esporádicos que se está reproduciendo.
Me encantaría simplemente llamar a este método, y la próxima pista que se reproducirá.
i siguieron el fragmento de código y el tutorial aquí http://www.deluge.co/?q=comment/477#comment-477 pero no hay salida allí. ¿podría ayudarme a reproducir un archivo intermedio – makboney