所以我有一个AKMusicTrack,只要有人在玩AKKeyboard,它就会填充AKMIDINotes。
我当前面临的问题是,如果将相同音符的AKMIDINote添加到AKMusicTrack中,并且位置和持续时间相似,那么将只播放一个。让我进一步澄清这个问题,假设我有两个音符74和74,第二个74应该在演奏,而第一个74仍在演奏,但不会。
这是来自AKMusicTrack的AKMIDINoteData数组的示例,其中第二个音符不播放:
[note: 74 velocity: 127 chan: 0 duration: 1.31484985351562 position 0.663384547,
note: 74 velocity: 127 chan: 0 duration: 1.68195784091949 position 1.09386738]
任何帮助或指针将不胜感激。
答案 0 :(得分:0)
您似乎必须以特定方式设置其格式:
.replaceMIDINoteData(with: [AKMIDINoteData(noteNumber: 14, velocity: 75, channel: 0, duration: AKDuration(beats: 1.31484985351562), position: AKDuration(beats: 1.0))])