ios5 - 如何在Music Player中循环播放Midi

标签 ios5 audio midi

我正在使用以下代码在ios中播放midi文件,但是如何循环播放歌曲?
有没有类似player.loop = true的东西?

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

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

MusicPlayerPreroll(player);
MusicPlayerStart(player);

提前致谢。

最佳答案

我通过为每个轨道设置循环信息来解决它。

 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);
    }

关于ios5 - 如何在Music Player中循环播放Midi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12580493/

相关文章:

ios - 如何从常规 UIFont 创建粗体 UIFont?

ios5 - 如果设备是ios 5

python - 从 MIDI 设备实时获取输入(Python)

ios - 核心音频 : How to play MIDI MusicSequence by MusicPlayer while AUGraph is deprecated?

ios - iOS 中的身份验证和 session 管理

iOS 5 - 触摸画一个圆圈

audio - FFMPEG - 在编码后获取精确计算的音频文件大小

html - 我有简单的 HTML 5 代码,我试图在 chrome 上加载,但播放器显示为灰色并且没有控件在工作

html - 不带<audio>元素而听到的WebRTC音频(RTCMultiConnection)

python - 通过 Python 在 Midi 的特定时间写笔记