2012-09-25 33 views
1

循環播放MIDI我用下面的代碼打在IOS MIDI文件,但我怎麼能循環的歌嗎? 有沒有像player.loop = true?如何MusicPlayer

NewMusicSequence(&mySequence); 
NSURL * midiFileURL = [NSURL fileURLWithPath:midPath]; 
MusicSequenceFileLoad(mySequence, (__bridge CFURLRef)midiFileURL, 0, kMusicSequenceLoadSMF_ChannelsToTracks);` 

NewMusicPlayer(&player); 
MusicPlayerSetSequence(player, mySequence); 

MusicPlayerPreroll(player); 
MusicPlayerStart(player); 

在此先感謝。

回答

1

我通過設置循環信息對於每個軌道的解決它。

UInt32 tracks; 


if (MusicSequenceGetTrackCount(sequence, &tracks) != noErr) 


    for (UInt32 i = 0; i < tracks; i++) { 
     MusicTrack track = NULL; 
     MusicTimeStamp trackLen = 0; 

     UInt32 trackLenLen = sizeof(trackLen); 

     MusicSequenceGetIndTrack(sequence, i, &track); 

     MusicTrackGetProperty(track, kSequenceTrackProperty_TrackLength, &trackLen, &trackLenLen); 
     MusicTrackLoopInfo loopInfo = { trackLen, 0 }; 
     MusicTrackSetProperty(track, kSequenceTrackProperty_LoopInfo, &loopInfo, sizeof(loopInfo)); 
     NSLog(@"track length is %f", trackLen); 
    } 
相關問題