Я использую AudioKit для разработки довольно динамичного конвейера. Мне понадобятся разные фильтры, краны и узлы в зависимости от состояния приложения (например: запись, воспроизведение, настройка, анализ и т. д.).
Каков официально предлагаемый подход здесь:
иметь единый проводник (обертку AudioEngine и управлять связанными Player, Recorder, Mixer, Taps и т. д.) и иметь своего рода конечный автомат, отражающий состояние пользовательского интерфейса и для каждого изменения: останавливать движок, перенастраивать настройки и конвейер, перезапустите движок и узлы
иметь несколько проводников (аналогично тому, что я вижу в приложении Cookbook) и каким-то образом освобождать (или достаточно останавливать?) любой активный проводник, когда другой получает приоритет и запускается. Несмотря на то, что это проще, может потребоваться дублирование кода (например, обработка устройства и общие настройки AV), и, похоже, это также не рекомендуется в некоторых других комментариях SO. В приложении «Кулинарная книга» различные «рецепты» совершенно не связаны друг с другом, и проще полностью освободить Проводник и начать новый для каждого рецепта, они также довольно просты. В моем приложении проводнику может потребоваться сохранять свое состояние, пока другой активен.
Я полагаю, что тот же вопрос также может быть уместен для AVAudioEngine и в различных ответах здесь, похоже, предлагается выбрать вариант 1, что делает меня еще более неуверенным при просмотре кулинарной книги AudioKit.
Спасибо
Спасибо @mahaltertin, я искал такой, теперь увидел, что мне нужно связаться с сопровождающим, сделаю, еще раз спасибо.





Cookbook, возможно, не идеальный пример полноценного аудиоприложения. Это просто набор мини-приложений.
Обычно приложение имеет только один AudioEngine, поскольку он визуализирует аудиовыход. Поэтому обычно у вас также будет только один проводник.
Synth One может помочь вам лучше понять архитектуру: https://github.com/AudioKit/AudioKitSynthOne Этому проекту уже пять лет, и он не использует последнюю версию, но архитектура с тех пор не сильно изменилась.
Спасибо, я выберу одиночный проводник и хороший совет проверить SynthOne.
Вы можете попросить присоединиться к Discord AudioKit, чтобы получить дополнительную помощь, а также если вы хотите улучшить документацию.