如何解决带有AKMIDISamplersf2的AKAppleSequencer在iO14中一次只播放一个音符
有人遇到这个问题吗?现在,使用AKAppleSequencer播放MIDI序列时,每个通道一次只能播放一个音符。
解决方法
我相信这是一个低级的错误,经过一天的工作,我确实有一种解决方法:我注意到,只有当您的AKMusicTrack上的几个音符的位置完全相同时(例如和弦时),该错误才会出现量化)。解决方法非常简单:在位置上添加微小的差异。在我的情况下,我将Double(0.0001)添加到将落在完全相同位置的每个音符位置。这种差异足以避免错误,因此所有音符都听起来不错。人耳无法分辨出这么小的差异,所以在他们实际修复该错误之前一切都很好。
,好吧,这很棘手,我想是实验性的,但是如果您按照swift packages installation的指南选择分支v5-develop
,则可以安装最新版本。但这确实需要一些代码大修!!
首先,AudioKit不再是静态的,因此不能仅分配start
,stop
和输出。首先,您需要存储引擎let engine : AudioEngine
... engine = AudioEngine()
的实例,然后可以启动/停止分配输出。
第二,所有的类名都已更改。因此,AKMidiSampler
-> MidiSampler
和AKAppleSequencer
-> AppleSequencer
等确保您所有的命名都是最新的。在框架中进行一些搜索可以帮助您找出发生了什么变化。
最后,您需要导入AVFoundation
,因为AKDuration
之类的内容已更改为Duration
,这是核心框架的一部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。