我想知道,是否可以在不停止AudioKit音序器的情况下即时修改MusicSequnce。 Apple方法MusicPlayerSetSequence的文档说,您必须在调用此方法之前停止MusicPlayer。所以我想我的问题的答案是否定的。还是我错过了什么?
答案 0 :(得分:1)
我一直在动态修改我的MusicSequences(使用AKSequencer),它从未引起任何问题。不过,您需要解决的一个潜在问题是何时进行更改。当您更改序列内容时,更改将几乎立即生效,因此,如果您具有循环序列,则可以将更改安排在重复之前进行,但有时可能会丢失音符序列末尾(即,如果这些注释未包含在序列的更新版本中)。
我用来防止音符掉落的一种模式是在序列的两个不同版本之间进行乒乓。因此,如果我有一个四小节重复模式,我将使我的音序为八个小节(重复两次相同的音序),每四个小节更新一次,仅更改当前未播放的一半。很难编写代码,但是效果很好。
编辑:我应该澄清一下,我是在谈论更改序列本身的内容。在播放过程中更改“播放头”的位置基本上是灾难性的计时。