Я не могу обернуть голову вокруг этого. Я везде читал (правильно), что жизненный стиль Audiokit должен управляться в единственном экземпляре и держаться подальше от жизненного цикла View Controllers. Затем я проверил весь код примера проекта и обнаружил, что немного смущает, что
AudioKit.start()
всегда вызывается в ViewDidload
. Но в любом случае это не моя настоящая проблема ..
У меня есть несколько ViewController, которые используют AKMicrophone
по-другому. Например, им нужны разные категории, разные AKSettings, а некоторые должны быть обычными микрофонами, в то время как некоторым нужна длинная цепочка инициализации с эффектами и микшерами ( Как в примере с проектом «Recorder»).
У меня здесь два связанных вопроса:
Я прочитал на Github, что когда мы меняем маршрутизацию или категорию, нам нужно повторно инициализировать AudioKit. Но в этом случае, где мы действительно это делаем? В моем случае я действительно могу думать только о «ViewWillAppear
». (если микрофон должен начать слушать, не нажимая кнопку, с другой настройкой)
И реальный вопрос в том, как мне сделать это правильно вообще? Например, в моем проекте AKMicrophone настроен так же, как в примере с «Recorder», но в классе Singleton . И когда я переключаюсь на другой ViewController, который требует «простой» AKMicrohone сразу после появления представления. Как убрать все эти микшеры и задержки из цепочки? Это не только вопрос изменения некоторых настроек AKS и перезапуска двигателя.