О хостинге аудиоустройства
iOS обеспечивает плагины обработки аудиоданных, поддерживающие смешивание, коррекцию, преобразование формата и ввод/вывод в реальном времени для записи, воспроизведения, оффлайнового рендеринга и живого разговора такого что касается VoIP (Передача речи по протоколу IP). Можно динамично загрузить и использовать — т.е. узел — эти мощные и гибкие плагины, известные как аудиоустройства, из приложения для iOS.
Аудиоустройства обычно выполняют, их работа в контексте вложенного объекта вызвала график обработки аудиоданных, как показано в числе. В этом примере Ваше приложение отправляет аудио в первые аудиоустройства в графике посредством одной или более функций обратного вызова и осуществляет отдельный контроль над каждым аудиоустройством. Вывод модуля I/O — последнего аудиоустройства в этом или любом графике обработки аудиоданных — соединяется непосредственно с выходными аппаратными средствами.
Сразу
Поскольку аудиоустройства составляют самый низкий программный уровень в штабеле аудио iOS, использовать их эффективно требует более глубокого понимания, чем Вам нужно для других технологий аудио iOS. Если Вы не требуете воспроизведения в реальном времени синтезируемых звуков, низкая задержка I/O (ввод и вывод) или определенные функции аудиоустройства, смотрите сначала на Медиапроигрыватель, Основу AV, OpenAL или Аудио платформы Панели инструментов. Эти высокоуровневые технологии используют аудиоустройства от Вашего имени и обеспечивают важные дополнительные функции, как описано в Мультимедийном Руководстве по программированию.
Аудиоустройства обеспечивают быструю, модульную обработку аудиоданных
Два самых больших преимущества использования аудиоустройств непосредственно:
Превосходная скорость отклика. Поскольку у Вас есть доступ к приоритетному потоку в реальном времени в функции обратного вызова рендеринга аудиоустройства, Ваш аудио код максимально близок к металлу. Синтетические музыкальные инструменты и одновременная речь в реальном времени I/O получают преимущества больше всего от использования аудиоустройств непосредственно.
Динамическое реконфигурирование. График обработки аудиоданных API, созданный вокруг
AUGraph
непрозрачный тип, позволяет Вам динамично собрать, реконфигурировать и перестроить сложные цепочки обработки аудиоданных ориентированным на многопотоковое исполнение способом, всеми при обработке аудио. Это - единственный аудио API в iOS, предлагающем эту возможность.
Жизненный цикл аудиоустройства продолжается следующим образом:
Во время выполнения получите ссылку на динамично связываемую библиотеку, определяющую аудиоустройство, которое Вы хотите использовать.
Инстанцируйте аудиоустройства.
Сконфигурируйте аудиоустройство как требуется для его типа и размещать намерение Вашего приложения.
Инициализируйте аудиоустройство для подготовки его для обработки аудио.
Запустите аудио поток.
Управляйте аудиоустройством.
По окончании освободите аудиоустройство.
Аудиоустройства обеспечивают очень полезные отдельные функции, такие как панорамирование стерео, смешивание, регулятор громкости и измерение уровня звука. Хостинг аудиоустройств позволяет Вам добавить такие опции к своему приложению. Для получения этих преимуществ, однако, необходимо получить средство с рядом фундаментальных понятий включая форматы потока аудиоданных, представить функции обратного вызова и архитектуру аудиоустройства.
Выбор шаблона разработки и построение приложения
Аудиоустройство, размещающее шаблон разработки, обеспечивает гибкий проект для настройки для специфических особенностей приложения. Каждый образец указывает:
Как сконфигурировать модуль I/O. Модули I/O имеют два независимых элемента, тот, принимающий аудио от входных аппаратных средств, то, отправляющее аудио в выходные аппаратные средства. Каждый шаблон разработки указывает, какой элемент или элементы необходимо включить.
Где в графике обработки аудиоданных необходимо указать форматы потока аудиоданных. Необходимо правильно указать форматы для поддержки аудио потока.
Где установить соединения аудиоустройства и где присоединить Ваши функции обратного вызова рендеринга. Соединение аудиоустройства является формальной конструкцией, распространяющей потоковый формат от вывода одного аудиоустройства к вводу другого аудиоустройства. Обратный вызов рендеринга позволяет Вам подать аудио в график или управлять аудио на отдельном демонстрационном уровне в графике.
Независимо от того, который шаблон разработки Вы выбираете, шаги для построения приложения хостинга аудиоустройства являются в основном тем же:
Сконфигурируйте свой сеанс аудио приложения для обеспечения работ приложения правильно в контексте оборудования системы и оборудования устройства.
Создайте график обработки аудиоданных. Этот многоступенчатый процесс использует все, что Вы изучили в Основных принципах Хостинга Аудиоустройства.
Обеспечьте пользовательский интерфейс для управления аудиоустройствами графика.
Познакомьтесь с этими шагами, таким образом, можно применить их к собственным проектам.
Получите все возможное от каждого аудиоустройства
Большая часть этого документа учит Вас что вся доля аудиоустройств iOS важные, общие атрибуты. Эти атрибуты включают, например, потребность в Вашем приложении, чтобы указать и загрузить аудиоустройство во время выполнения, и затем правильно указать его форматы аудиопотока.
Одновременно, каждое аудиоустройство имеет определенные уникальные функции и требования, в пределах от корректного типа данных аудиосэмпла для использования, к требуемой конфигурации для корректного поведения. Поймите подробные данные использования и определенные возможности каждого аудиоустройства, таким образом, Вы знаете, например, когда использовать 3D модуль Микшера и когда вместо этого использовать Многоканальный Микшер.
Как использовать этот документ
Если Вы предпочитаете начинать с практического введения в хостинг аудиоустройства в iOS, загрузите одно из демонстрационных приложений, доступных в iOS Центр Dev, таких как Аудио Микшер (MixerHost). Возвратитесь к этому документу для ответа на вопросы, которые Вы можете иметь и узнавать больше.
Если Вы хотите существенное концептуальное основание прежде, чем запустить Ваш проект, считайте Основные принципы Хостинга Аудиоустройства сначала. Эта глава объясняет понятия позади APIs. Продолжите Приложения Аудиоустройства Построения для приобретения знаний о выборе шаблона разработки для проекта и потока операций для создания приложения.
Если Вы имеете некоторый опыт с аудиоустройствами и просто хотите специфические особенности для данного типа, можно запустить с Использования Определенных Аудиоустройств.
Предпосылки
Прежде, чем считать этот документ, это - хорошая идея считать раздел A Little About Digital Audio и Linear PCM in Core Audio Overview. Кроме того, Глоссарий Core Audio анализа для условий Вы не можете уже быть знакомы с. Проверять, нужно ли Вашему аудио, могло бы быть встречено высокоуровневой технологией, анализом Используя Аудио в Мультимедийном Руководстве по программированию.
См. также
Существенная справочная документация для создания приложения хостинга аудиоустройства включает следующее:
Ссылка Свойств Аудиоустройства описывает свойства, которые можно использовать для конфигурирования каждого типа аудиоустройства.
Ссылка Параметров Аудиоустройства описывает параметры, которые можно использовать для управления каждым типом аудиоустройства.
Ссылка Audio Unit Component Services описывает API для доступа к параметрам аудиоустройства и свойствам, и описывает различные функции обратного вызова аудиоустройства.
Ссылка Audio Component Services описывает API для доступа к аудиоустройствам во время выполнения и для управления экземплярами аудиоустройства.
Ссылка Audio Unit Processing Graph Services описывает API для построения и управления графиками обработки аудиоданных, которые являются динамично реконфигурируемыми цепочками обработки аудиоданных.
Ссылка Типов данных Core Audio описывает структуры данных и вводит Вас потребность в хостинге аудиоустройств.