AudioKit Lifecyle путаница - PullRequest
       6

AudioKit Lifecyle путаница

1 голос
/ 17 апреля 2019

Я не могу обернуть голову вокруг этого. Я везде читал (правильно), что жизненный стиль Audiokit должен управляться в единственном экземпляре и держаться подальше от жизненного цикла View Controllers. Затем я проверил весь код примера проекта и обнаружил, что немного смущает, что

AudioKit.start() 

всегда вызывается в ViewDidload. Но в любом случае это не моя настоящая проблема ..

У меня есть несколько ViewController, которые используют AKMicrophone по-другому. Например, им нужны разные категории, разные AKSettings, а некоторые должны быть обычными микрофонами, в то время как некоторым нужна длинная цепочка инициализации с эффектами и микшерами ( Как в примере с проектом «Recorder»).

У меня здесь два связанных вопроса:

  • Я прочитал на Github, что когда мы меняем маршрутизацию или категорию, нам нужно повторно инициализировать AudioKit. Но в этом случае, где мы действительно это делаем? В моем случае я действительно могу думать только о «ViewWillAppear». (если микрофон должен начать слушать, не нажимая кнопку, с другой настройкой)

  • И реальный вопрос в том, как мне сделать это правильно вообще? Например, в моем проекте AKMicrophone настроен так же, как в примере с «Recorder», но в классе Singleton . И когда я переключаюсь на другой ViewController, который требует «простой» AKMicrohone сразу после появления представления. Как убрать все эти микшеры и задержки из цепочки? Это не только вопрос изменения некоторых настроек AKS и перезапуска двигателя.

...