1

以下のコードを使用してiOSでMIDIファイルを再生していますが、曲をループするにはどうすればよいですか?player.loop = trueのようなsthはありますか?

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

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

MusicPlayerPreroll(player);
MusicPlayerStart(player);

前もって感謝します。

4

2 に答える 2

2

トラックごとにループ情報を設定することで解決しました。

 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);
    }
于 2012-09-28T07:51:47.297 に答える