是否可以在播放 AudioKit 音序器时修改 MusicSequnce

Posted

技术标签:

【中文标题】是否可以在播放 AudioKit 音序器时修改 MusicSequnce【英文标题】:Is it possible to modify the MusicSequnce while AudioKit sequencer is playing 【发布时间】:2019-02-21 07:48:23 【问题描述】:

我想知道,是否可以在不停止 AudioKit 音序器的情况下即时修改 MusicSequnce。方法 MusicPlayerSetSequence 的 Apple 文档说您必须在调用此方法之前停止 MusicPlayer。所以我想我的问题的答案是否定的。还是我错过了什么?

【问题讨论】:

【参考方案1】:

我一直在动态修改我的 MusicSequences(使用 AKSequencer),它从来没有引起过问题。您需要解决的一个潜在问题是何时更改它。当您更改序列内容时,更改将几乎立即生效,因此如果您有一个循环序列,您可以将更改安排在重复之前发生,但您可能偶尔会丢失音符序列的结尾(即,如果这些注释未包含在序列的更新版本中)。

我用来防止丢失音符的一种模式是在序列的两个不同版本之间进行乒乓球。因此,如果我有一个四小节重复模式,我会将我的序列设为八小节(重复相同的序列两次),每四小节更新一次,并且只更改当前未播放的一半。编码很困难,但效果很好。

编辑:我应该澄清一下,我说的是改变序列本身的内容。在播放期间更改“播放头”的位置基本上是一种灾难。

【讨论】:

以上是关于是否可以在播放 AudioKit 音序器时修改 MusicSequnce的主要内容,如果未能解决你的问题,请参考以下文章

AudioKit - 使用音序器在特定位置播放声音文件

#AudioKit 播放音序器音频 mp3

Audiokit:(V5)音序器无法在轨道的同一位置同时播放音符

Swift - 带有振荡器的 AudioKit 音序器(AKOscillatorBank).频率不会在更高的范围内播放(MidiNote 120+)

AudioKit iOS - 收到MIDINoteOn 功能

AudioKit 5:音序效果