将非常简单的MusicSequence保存到MIDI中不会再现声音

fdi*_*iaz 5 iphone midi ios ios5 musicsequence

我正在尝试将一个非常基本的音符MusicSequence(MusicSequence Reference)保存到MIDI文件中.文件正在写入,音符的持续时间也是(如果我把持续时间4,那么MIDI文件持续2秒,如果我将它改为2然后它应该持续1秒)但是没有声音被复制和如果我查看Logic中的MIDI文件,那么也没有任何信息.似乎笔记持续时间已写入,但笔记的笔记不是.

可能会发生什么?

+ (MusicSequence)getSequence
{
    MusicSequence mySequence;
    MusicTrack myTrack;
    NewMusicSequence(&mySequence);
    MusicSequenceNewTrack(mySequence, &myTrack);

    MIDINoteMessage noteMessage;
    MusicTimeStamp timestamp = 0;
    noteMessage.channel = 0;
    noteMessage.note = 4;
    noteMessage.velocity = 90;
    noteMessage.releaseVelocity = 0;
    noteMessage.duration = 4;

    if (MusicTrackNewMIDINoteEvent(myTrack, timestamp, &noteMessage) != noErr) NSLog(@"ERROR creating the note");
    else NSLog(@"Note added");

    return mySequence;
}
Run Code Online (Sandbox Code Playgroud)

No *_*ing 5

尝试写一个> 20且<109(midi音符范围)的音符.虽然4可能在技术上有效,但它超出正常midi音符的范围.

此外,使用Core Audio/MusicPlayer等的有用功能是CAShow() - 因此尝试CAShow(sequence)查看序列数据.