首页 > 解决方案 > AudioKit AKMusicTrack 不播放 MIDI

问题描述

所以我有一个 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]

任何帮助或指示将不胜感激。

标签: swiftaudiokit

解决方案


看起来您必须以特定方式对其进行格式化:

.replaceMIDINoteData(with: [AKMIDINoteData(noteNumber: 14, velocity: 75, channel: 0, duration: AKDuration(beats: 1.31484985351562), position: AKDuration(beats: 1.0))])

推荐阅读