Используя определенные аудиоустройства
Каждое аудиоустройство iOS имеет определенные общие черты со всеми другими и определенные вещи, уникальные для себя. Более ранние главы в этом документе описали общие аспекты, среди них потребность найти аудиоустройство во время выполнения, инстанцировать его и гарантировать, что его потоковые форматы установлены соответственно. Эта глава объясняет различия среди аудиоустройств и обеспечивает специфические особенности того, как использовать их.
Позже в главе, Ключи Идентификатора для Аудиоустройств перечисляют коды, необходимо определить местоположение динамично связываемых библиотек для каждого аудиоустройства во время выполнения.
Используя Модули I/O
iOS обеспечивает три I/O (ввод/вывод) модули. Подавляющее большинство приложений аудиоустройства использует Удаленный модуль I/O, соединяющийся с аппаратными средствами аудио ввода и вывода и обеспечивающий доступ низкой задержки к частному лицу, поступающему и исходящим значениям аудиосэмпла. Для приложений VoIP Обработка речи модуль I/O расширяет Удаленный модуль I/O путем добавления акустической отмены эха и других функций. Чтобы передать аудио обратно Вашему приложению, а не вывести аудио аппаратные средства, используйте Универсальное Устройство вывода.
Удаленный Модуль I/O
Удаленный модуль I/O (подтип kAudioUnitSubType_RemoteIO
) подключения к оборудованию устройства для ввода, вывода или одновременного ввода и вывода. Используйте его для воспроизведения, записи или низкой задержки одновременный ввод и вывод, где не необходима отмена эха.
Аудио аппаратные средства устройства налагают свои форматы аудиопотока на обращающиеся исходящим образом стороны Удаленного модуля I/O, как описано в Понимании, Где и Как Установить Потоковые Форматы. Аудиоустройство обеспечивает преобразование формата между аппаратными форматами аудио и Вашим форматом аудио приложения, делая так посредством включенного аудиоустройства Преобразователя форматов.
Для примера кода, показывающего, как использовать это аудиоустройство, см. проект примера кода aurioTouch.
Таблица 3-1 предоставляет подробную информацию использования для этого аудиоустройства.
Функция аудиоустройства | Подробные данные |
---|---|
Элементы | Один входной элемент: элемент 1. Один выходной элемент: элемент 0. По умолчанию входной элемент отключен, и выходной элемент включен. Если необходимо изменить это, обратитесь к описанию |
Рекомендуемые потоковые атрибуты формата | |
Потоковые примечания формата | Обращающиеся исходящим образом стороны Удаленного модуля I/O получают свои форматы от аудио аппаратных средств следующим образом:
Установите свой формат приложения на выходном объеме входного элемента. Входной элемент выполняет преобразование формата между своими объемами ввода и вывода по мере необходимости. Используйте аппаратную частоту дискретизации для своего потокового формата приложения. Если входной объем выходного элемента питается соединением аудиоустройства, это получает свой потоковый формат от того соединения. Если, однако, это питается функцией обратного вызова рендеринга, установите свой формат приложения на нем. |
Параметры | Ни один в iOS. |
Свойства | Посмотрите |
Примечания свойства | Вы никогда не должны устанавливать |
Обрабатывающий речь модуль I/O
Обработка речи модуль I/O (подтип kAudioUnitSubType_VoiceProcessingIO
) имеет характеристики Удаленного модуля I/O и добавляет подавление эха для двухсторонней дуплексной коммуникации. Это также добавляет автоматическое исправление усиления, корректировку обрабатывающего речь качества и отключение звука. Это - корректный модуль I/O для использования для VoIP (Передача речи по протоколу IP) приложений.
Все соображения, перечисленные в Таблице 3-1, применяют также к Обработке речи модуль I/O. Кроме того, существуют определенные свойства, доступные для этого аудиоустройства, описанного в Voice-Processing I/O Audio Unit Properties
.
Универсальное устройство вывода
Используйте это аудиоустройство подтипа kAudioUnitSubType_GenericOutput
, при отправке вывода графика обработки аудиоданных к приложению, а не к выходным аппаратным средствам аудио. Вы обычно использовали бы Универсальное Устройство вывода для оффлайновой обработки аудиоданных. Точно так же, как другие модули I/O Универсальное Устройство вывода включает модуль Преобразователя форматов. Это позволяет Универсальному Устройству вывода выполнить преобразование формата между потоковым форматом, используемым в графике обработки аудиоданных и форматом, который Вы хотите.
Можно также использовать Универсальное Устройство вывода в качестве заключительного узла в подграфе, который Вы помещаете в родительский график обработки аудиоданных.
Используя модули микшера
iOS обеспечивает два модуля микшера. В большинстве случаев необходимо использовать Многоканальный модуль Микшера, обеспечивающий смешивание для любого числа моно или потоков стерео. При необходимости в функциях 3D модуля Микшера необходимо очень вероятно использовать OpenAL вместо этого. OpenAL создается поверх 3D модуля Микшера, обеспечивая эквивалентную производительность с более простым API, хорошо подходящим для игровой разработки приложений.
Многоканальный модуль микшера
Многоканальный модуль Микшера (подтип kAudioUnitSubType_MultiChannelMixer
) берет любое число моно или потоков стерео и комбинирует их в единственный вывод стерео. Это управляет усилением звуковых частот для каждого ввода и для вывода и позволяет Вам включить или выключить каждый ввод отдельно. Запускаясь в iOS 4.0, Многоканальный Микшер поддерживает панорамирование стерео для каждого ввода.
Для примера кода, показывающего, как использовать это аудиоустройство, см. проект примера кода Аудио Микшер (MixerHost).
Таблица 3-2 предоставляет подробную информацию использования для этого аудиоустройства.
Функция аудиоустройства | Подробные данные |
---|---|
Элементы | Один или более входные элементы, каждый из которых может быть моно или стерео. Один выходной элемент стерео. |
Рекомендуемые потоковые атрибуты формата | |
Потоковые примечания формата | На входном объеме управляйте потоковыми форматами следующим образом:
На выходном объеме, набор просто частота дискретизации приложения. |
Параметры | Посмотрите |
Свойства | |
Примечания свойства | По умолчанию,
|
3D модуль микшера
3D модуль Микшера (подтип kAudioUnitSubType_3DMixer
) панорамирование стерео средств управления, воспроизведите темп и усиление для каждого ввода и средств управления другие характеристики, такие как очевидное расстояние до слушателя. Вывод имеет контроль усилением звуковых частот. Для получения некоторое представление о том, что может сделать это аудиоустройство полагайте, что OpenAL в iOS реализован с помощью него.
В большинстве случаев при необходимости в функциях 3D модуля Микшера наилучший вариант состоит в том, чтобы использовать OpenAL. Для примера кода, показывающего, как использовать OpenAL, см. проект примера кода oalTouch.
Таблица 3-3 предоставляет подробную информацию использования для этого аудиоустройства.
Функция аудиоустройства | Подробные данные |
---|---|
Элементы | Один или более входные элементы, каждый из которых моно. Один выходной элемент стерео. |
Рекомендуемые потоковые атрибуты формата | |
Потоковые примечания формата | На входном объеме управляйте потоковыми форматами следующим образом:
На выходном объеме, набор просто частота дискретизации приложения. |
Параметры | Посмотрите |
Свойства | Посмотрите |
Примечания свойства | По умолчанию,
|
Используя модули эффекта
IPod модуль EQ (подтип kAudioUnitSubType_AUiPodEQ
) единственный модуль эффекта, предоставленный в iOS 4. Это - тот же эквалайзер, используемый встроенным приложением iPod. Для просмотра пользовательского интерфейса приложения iPod для этого аудиоустройства перейдите к Настройкам> iPod> EQ. Это аудиоустройство предлагает ряд предварительно установленных кривых выравнивания, таких как Басовый Усилитель, Популярность и Произносимое слово.
Необходимо предоставить собственный пользовательский интерфейс к iPod модуль EQ, как Вы должны для любого из аудиоустройств. Проект кода испытательного образца iPodEQ AUGraph Микшера демонстрирует, как использовать iPod модуль EQ и показывает один способ обеспечить пользовательский интерфейс для него.
Таблица 3-4 предоставляет подробную информацию использования для этого аудиоустройства.
Функция аудиоустройства | Подробные данные |
---|---|
Элементы | Один моно элемент или элемент стереовхода. Один моно или выходной элемент стерео. |
Рекомендуемые потоковые атрибуты формата | |
Потоковые примечания формата | На входном объеме управляйте потоковыми форматами следующим образом:
На выходном объеме, устанавливает тот же полный потоковый формат, который Вы использовали для ввода. |
Параметры | Ни один. |
Свойства | |
Примечания свойства | IPod модуль EQ обеспечивает ряд предопределенных тональных кривых выравнивания как предварительные установки фабрики. Получите массив доступных настроек EQ путем доступа к аудиоустройству По умолчанию,
|
Ключи идентификатора для аудиоустройств
Эта таблица обеспечивает ключи идентификатора, необходимо получить доступ к динамично связываемым библиотекам для каждого аудиоустройства iOS, вместе с краткими описаниями аудиоустройств.
Имя и описание | Ключи идентификатора | Соответствующие коды с четырьмя символами |
---|---|---|
Преобразователь Преобразования формата аудио поддержек в или от линейного PCM. |
|
|
модуль Эквалайзера iPod Обеспечивает функции эквалайзера iPod. |
|
|
3D модуль Микшера Поддержки, смешивающие многократные аудиопотоки, выходное панорамирование, преобразование частоты дискретизации и т.д. |
|
|
Многоканальный модуль Микшера Поддержки, смешивающие многократные аудиопотоки к единому потоку. |
|
|
Универсальное Устройство вывода Преобразование поддержек в и от линейного формата PCM; может использоваться, чтобы запустить и остановить график. |
|
|
Удаленный модуль I/O Подключения к оборудованию устройства для ввода, вывода или одновременного ввода и вывода. |
|
|
Речь, Обрабатывающая модуль I/O Имеет характеристики модуля I/O и добавляет подавление эха для двухсторонней связи. |
|
|