Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылочная компонентная ссылка служб аудиоустройства платформы AudioUnit

Опции
Развертывание Target:

На этой странице
Язык:

Компонентная ссылка служб аудиоустройства

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Swift

import AudioUnit

Objective C

@import AudioUnit;

Audio Unit Component Services обеспечивает интерфейс C для использования аудиоустройств. Аудиоустройство является плагином обработки аудиоданных, используемым для обработки или генерации аудиоданных. Для нахождения откройтесь и закройте аудиоустройства, Вы используете сопутствующий интерфейс, Audio Component Services, описанную в Ссылке Audio Component Services.

Аудиоустройство однозначно определяется триплетом кодов, известных как тип, подтип и производитель ID. Посмотрите AudioComponentDescription структура в Ссылке Audio Component Services.

Функции

  • Инициализирует аудиоустройство

    Объявление

    Swift

    func AudioUnitInitialize(_ inUnit: AudioUnit) -> OSStatus

    Objective C

    OSStatus AudioUnitInitialize ( AudioUnit inUnit );

    Параметры

    inUnit

    Аудиоустройство для инициализации.

    Возвращаемое значение

    Код результата.

    Обсуждение

    На успешной инициализации форматы аудио для ввода и вывода допустимы, и аудиоустройство готово представить. Во время инициализации аудиоустройство выделяет память согласно максимальному количеству аудио кадров, которые это может произвести в ответ на единственный вызов рендеринга.

    Обычно, в то время как аудиоустройство инициализируется, состояние аудиоустройства (такого как его форматы I/O и выделения памяти) не может быть изменено.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Деинициализирует аудиоустройство.

    Объявление

    Swift

    func AudioUnitUninitialize(_ inUnit: AudioUnit) -> OSStatus

    Objective C

    OSStatus AudioUnitUninitialize ( AudioUnit inUnit );

    Параметры

    inUnit

    Аудиоустройство, которое Вы хотите деинициализировать.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Перед изменением характеристик обработки инициализировать аудиоустройства, таких как ее формат аудиоданных ввода или вывода или ее частота дискретизации, необходимо сначала деинициализировать его. Вызывание этой функции освобождает ресурсы аудиоустройства.

    После вызывания этой функции можно реконфигурировать аудиоустройство и затем вызвать AudioUnitInitialize повторно инициализировать его.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Регистрирует обратный вызов для получения уведомлений рендеринга аудиоустройства.

    Объявление

    Swift

    func AudioUnitAddRenderNotify(_ inUnit: AudioUnit, _ inProc: AURenderCallback, _ inProcUserData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioUnitAddRenderNotify ( AudioUnit inUnit, AURenderCallback inProc, void *inProcUserData );

    Параметры

    inUnit

    Аудиоустройство, из которого Вы хотите получить уведомления рендеринга.

    inProc

    Обратный вызов, который Вы регистрируете.

    inProcUserData

    Пользовательские данные, которые Вы хотите быть отправленными в Ваш обратный вызов. Используйте это, например, для идентификации слушателя рендеринга.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Зарегистрированную функцию обратного вызова вызывают обоими, прежде чем аудиоустройство выполнит свои операции рендеринга (когда предварительный рендеринг флага рендеринга укусил, установлен), и после того, как аудиоустройство завершило свою работу рендеринга (пострендеринг флага рендеринга укусил, установлен).

    inProc и inProcUserData параметры обрабатываются как идентификатор с двумя частями. Для удаления слушателя рендеринга необходимо передать оба этих значения AudioUnitRemoveRenderNotify функция.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    AudioUnitRemoveRenderNotify

  • Не регистрирует ранее зарегистрированную функцию обратного вызова слушателя рендеринга.

    Объявление

    Swift

    func AudioUnitRemoveRenderNotify(_ inUnit: AudioUnit, _ inProc: AURenderCallback, _ inProcUserData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioUnitRemoveRenderNotify ( AudioUnit inUnit, AURenderCallback inProc, void *inProcUserData );

    Параметры

    inUnit

    Аудиоустройство, из которого Вы больше не хотите получить уведомления рендеринга.

    inProc

    Функция обратного вызова, которую Вы ранее зарегистрировали и теперь не регистрируете.

    inProcUserData

    Пользовательские данные, которые Вы предоставили при регистрации функции обратного вызова.

    Возвращаемое значение

    Код результата.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Инициирует цикл рендеринга для аудиоустройства.

    Объявление

    Swift

    func AudioUnitRender(_ inUnit: AudioUnit, _ ioActionFlags: UnsafeMutablePointer<AudioUnitRenderActionFlags>, _ inTimeStamp: UnsafePointer<AudioTimeStamp>, _ inOutputBusNumber: UInt32, _ inNumberFrames: UInt32, _ ioData: UnsafeMutablePointer<AudioBufferList>) -> OSStatus

    Objective C

    OSStatus AudioUnitRender ( AudioUnit inUnit, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inOutputBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData );

    Параметры

    inUnit

    Аудиоустройство, которое Вы просите представлять.

    ioActionFlags

    Флаги для конфигурирования работы рендеринга.

    inTimeStamp

    Аудио метка времени для работы рендеринга. Каждая метка времени должна содержать допустимое демонстрационное время, постепенно увеличивающееся монотонно от предыдущего вызова до этой функции. Т.е. следующая метка времени равна inTimeStamp + inNumberFrames.

    Если демонстрационное время не увеличивается как это от одного вызова рендеринга до следующего, аудиоустройство интерпретирует это как разрыв с временной шкалой, для которой это представляет.

    При рендеринге к многократным выходным шинам гарантируйте, что это значение является тем же для каждой шины. Используя то же значение позволяет аудиоустройству решать, что рендеринг для каждой выходной шины является частью единственной работы рендеринга.

    inOutputBusNumber

    Выходная шина для рендеринга для.

    inNumberFrames

    Число аудиосэмпла структурирует для рендеринга.

    ioData

    На вводе, аудио буферный список, в котором должно представить аудиоустройство. На выводе, аудиоданные, представленные аудиоустройством.

    AudioBufferList то, что Вы обеспечиваете на вводе, должно соответствовать топологию для текущего формата аудио для данной шины. Буферный список может иметь любой эти два варианта:

    • Если mData указатели являются ненулем, аудиоустройство представляет свой вывод в тех буферах

    • Если mData указатели являются нулем, аудиоустройство может обеспечить указатели на свои собственные буферы. В этом случае аудиоустройство должно сохранить те буферы допустимыми на время цикла I/O вызывающего потока.

    Возвращаемое значение

    Код результата.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Сбрасывает состояние рендеринга аудиоустройства.

    Объявление

    Swift

    func AudioUnitReset(_ inUnit: AudioUnit, _ inScope: AudioUnitScope, _ inElement: AudioUnitElement) -> OSStatus

    Objective C

    OSStatus AudioUnitReset ( AudioUnit inUnit, AudioUnitScope inScope, AudioUnitElement inElement );

    Параметры

    inUnit

    Аудиоустройство, состояние рендеринга которого Вы сбрасываете.

    inScope

    Объем аудиоустройства, обычно набор к kAudioUnitScope_Global.

    inElement

    Элемент аудиоустройства, обычно набор к 0.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Эта функция сбрасывает состояние рендеринга аудиоустройства. Например, с задержкой или типом реверберации аудиоустройства, это очищает все строки задержки, сохраняемые в аудиоустройстве. Как правило, Вы вызываете эту функцию, когда аудиоустройство ранее представляло и было вынуто из цепочки рендеринга (например, если дорожка, в которой это находится, отключена звук), и теперь включается назад (например, нес отключенным звуком). Ваше приложение должно сбросить аудиоустройство прежде, чем добавить его назад к цепочке рендеринга так, чтобы это не производило аудио из своих строк задержки, которое больше не действительно.

    Эта функция очищает память. Это не выделяет или ресурсы свободной памяти.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Регистрирует обратный вызов для получения уведомлений изменения свойства аудиоустройства.

    Объявление

    Swift

    func AudioUnitAddPropertyListener(_ inUnit: AudioUnit, _ inID: AudioUnitPropertyID, _ inProc: AudioUnitPropertyListenerProc, _ inProcUserData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioUnitAddPropertyListener ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitPropertyListenerProc inProc, void *inProcUserData );

    Параметры

    inUnit

    Аудиоустройство Вы хотите получить уведомления изменения свойства из.

    inID

    Идентификатор для свойства, которое Вы хотите контролировать.

    inProc

    Обратный вызов, который Вы регистрируете.

    inProcUserData

    Пользовательские данные, которые Вы хотите быть отправленными в Ваш обратный вызов. Используйте это, например, для идентификации слушателя свойства.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Когда значение свойства аудиоустройства изменяется, обратный вызов уведомления может вызвать аудиоустройство, чтобы сообщить заинтересованным сторонам, что это событие имело место. Уведомление определяется кортежем inProc, inProcUserData, inID параметры.

    Чтобы не зарегистрировать обратный вызов, используйте AudioUnitRemovePropertyListenerWithUserData функция.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Не регистрирует ранее зарегистрированную функцию обратного вызова слушателя свойства.

    Объявление

    Swift

    func AudioUnitRemovePropertyListenerWithUserData(_ inUnit: AudioUnit, _ inID: AudioUnitPropertyID, _ inProc: AudioUnitPropertyListenerProc, _ inProcUserData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioUnitRemovePropertyListenerWithUserData ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitPropertyListenerProc inProc, void *inProcUserData );

    Параметры

    inUnit

    Аудиоустройство, из которого Вы больше не хотите получить уведомления изменения свойства.

    inID

    Идентификатор для свойства, которое Вы больше не хотите контролировать.

    inProc

    Функция обратного вызова, которую Вы ранее зарегистрировали и теперь не регистрируете.

    inProcUserData

    Пользовательские данные, которые Вы предоставили при регистрации функции обратного вызова.

    Возвращаемое значение

    Код результата.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    AudioUnitAddPropertyListener

  • Получает значение свойства аудиоустройства.

    Объявление

    Swift

    func AudioUnitGetProperty(_ inUnit: AudioUnit, _ inID: AudioUnitPropertyID, _ inScope: AudioUnitScope, _ inElement: AudioUnitElement, _ outData: UnsafeMutablePointer<Void>, _ ioDataSize: UnsafeMutablePointer<UInt32>) -> OSStatus

    Objective C

    OSStatus AudioUnitGetProperty ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, void *outData, UInt32 *ioDataSize );

    Параметры

    inUnit

    Аудиоустройство, от которого Вы хотите получить значение свойства.

    inID

    Идентификатор для свойства.

    inScope

    Объем аудиоустройства для свойства.

    inElement

    Элемент аудиоустройства для свойства.

    outData

    На успешном выводе, текущей стоимости для указанного свойства аудиоустройства. Установите этот параметр на NULL при вызывании этой функции, если Вы только хотите определить сколько памяти для выделения для переменного свойства размера.

    ioDataSize

    На вводе, ожидаемом размере значения свойства, как указано outData параметр. На выводе, размере возвращенных данных.

    Возвращаемое значение

    Код результата.

    Специальные замечания

    Некоторые значения свойств Core Audio являются типами C, и другие являются Базовыми объектами Основы.

    Если Вы вызываете эту функцию для получения значения, которое является Базовым объектом Основы, то эта функция — несмотря на использование «Get» на его имя — копирует объект. Вы ответственны за выпуск объекта, как описано в Создать Правиле в Руководстве по программированию управления памятью для Базовой Основы.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Получает информацию о свойстве аудиоустройства.

    Объявление

    Swift

    func AudioUnitGetPropertyInfo(_ inUnit: AudioUnit, _ inID: AudioUnitPropertyID, _ inScope: AudioUnitScope, _ inElement: AudioUnitElement, _ outDataSize: UnsafeMutablePointer<UInt32>, _ outWritable: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus AudioUnitGetPropertyInfo ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, UInt32 *outDataSize, Boolean *outWritable );

    Параметры

    inUnit

    Аудиоустройство, от которого Вы хотите получить информацию свойства.

    inID

    Идентификатор для свойства.

    inScope

    Объем аудиоустройства для свойства.

    inElement

    Элемент аудиоустройства для свойства.

    outDataSize

    На успешном выводе, максимальном размере для свойства аудиоустройства. Может быть NULL на вводе, когда не возвращается никакое значение.

    outWritable

    На успешном выводе, булево значение, указывающее, может ли свойство быть записано в (YEStrue) или не (NOfalse). Может быть NULL на вводе, когда не возвращается никакое значение.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Некоторые свойства, имеющие доступ для чтения-записи, когда аудиоустройство является неинициализированным, становятся только для чтения, когда инициализируется аудиоустройство.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Устанавливает значение свойства аудиоустройства.

    Объявление

    Swift

    func AudioUnitSetProperty(_ inUnit: AudioUnit, _ inID: AudioUnitPropertyID, _ inScope: AudioUnitScope, _ inElement: AudioUnitElement, _ inData: UnsafePointer<Void>, _ inDataSize: UInt32) -> OSStatus

    Objective C

    OSStatus AudioUnitSetProperty ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, const void *inData, UInt32 inDataSize );

    Параметры

    inUnit

    Аудиоустройство, для которого Вы хотите установить значение свойства.

    inID

    Идентификатор свойства аудиоустройства.

    inScope

    Объем аудиоустройства для свойства.

    inElement

    Элемент аудиоустройства для свойства.

    inData

    Значение, что Вы хотите примениться к свойству. Может быть NULL (см. Обсуждение).

    Всегда передавайте значения свойств ссылкой. Например, для значения свойства типа CFStringRef, передайте его как &myCFString.

    inDataSize

    Размер данных Вы обеспечиваете в inData параметр.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Для очистки значения свойства аудиоустройства установите inData параметр к NULL и набор inDataSize параметр к 0. Очистка свойств работает только на те свойства, не имеющие значения по умолчанию.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Получает значение параметра аудиоустройства.

    Объявление

    Swift

    func AudioUnitGetParameter(_ inUnit: AudioUnit, _ inID: AudioUnitParameterID, _ inScope: AudioUnitScope, _ inElement: AudioUnitElement, _ outValue: UnsafeMutablePointer<AudioUnitParameterValue>) -> OSStatus

    Objective C

    OSStatus AudioUnitGetParameter ( AudioUnit inUnit, AudioUnitParameterID inID, AudioUnitScope inScope, AudioUnitElement inElement, AudioUnitParameterValue *outValue );

    Параметры

    inUnit

    Аудиоустройство, от которого Вы хотите получить значение параметра.

    inID

    Идентификатор для параметра.

    inScope

    Объем аудиоустройства для параметра.

    inElement

    Элемент аудиоустройства для параметра.

    outValue

    На успехе, содержит текущую стоимость для указанного параметра аудиоустройства.

    Возвращаемое значение

    Код результата.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    AudioUnitSetParameter

  • Устанавливает значение параметра аудиоустройства.

    Объявление

    Swift

    func AudioUnitSetParameter(_ inUnit: AudioUnit, _ inID: AudioUnitParameterID, _ inScope: AudioUnitScope, _ inElement: AudioUnitElement, _ inValue: AudioUnitParameterValue, _ inBufferOffsetInFrames: UInt32) -> OSStatus

    Objective C

    OSStatus AudioUnitSetParameter ( AudioUnit inUnit, AudioUnitParameterID inID, AudioUnitScope inScope, AudioUnitElement inElement, AudioUnitParameterValue inValue, UInt32 inBufferOffsetInFrames );

    Параметры

    inUnit

    Аудиоустройство, для которого Вы хотите установить значение параметра.

    inID

    Идентификатор параметра аудиоустройства.

    inScope

    Объем аудиоустройства для параметра.

    inElement

    Элемент аудиоустройства для параметра.

    inValue

    Значение, что Вы хотите примениться к параметру.

    inBufferOffsetInFrames

    Установите это в 0. Для планирования установки значения параметра используйте AudioUnitScheduleParameters функция.

    Возвращаемое значение

    Код результата.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Расписания изменяются на значение параметра аудиоустройства.

    Объявление

    Swift

    func AudioUnitScheduleParameters(_ inUnit: AudioUnit, _ inParameterEvent: UnsafePointer<AudioUnitParameterEvent>, _ inNumParamEvents: UInt32) -> OSStatus

    Objective C

    OSStatus AudioUnitScheduleParameters ( AudioUnit inUnit, const AudioUnitParameterEvent *inParameterEvent, UInt32 inNumParamEvents );

    Параметры

    inUnit

    Аудиоустройство, для которого Вы хотите запланировать изменения параметра.

    inParameterEvent

    Одно или более событий параметра, которые Вы хотите запланировать.

    inNumParamEvents

    Число событий параметра аудиоустройства, представленных в inParameterEvent параметр.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Используйте эту функцию для планирования изменений в значении параметра аудиоустройства.

    • Так называемое непосредственное событие параметра аудиоустройства имеет место в будущее время и включает непосредственное изменение от одного значения до другого.

    • Так называемое сползало, событие параметра аудиоустройства начинается в будущее время и продолжается линейно, по конкретному количеству аудиосэмплов, от начального значения до окончательного значения.

    С единственным вызовом к этой функции можно запланировать многократные события параметра. Все события применяются только к текущему вызову рендеринга аудиоустройства; события планируются как часть обратного вызова уведомления перед рендерингом.

    При планировании непосредственного события параметра Вы обеспечиваете новое значение, которое будет установлено при указанном демонстрационном буферном смещении.

    При планировании сползавшего параметра скат планируется каждый рендеринг аудиоустройства на время ската. Каждое расписание новый рендеринг аудиоустройства указывает прогресс ската.

    Параметр аудиоустройства, принимающий запланированные события, указывает это через AudioUnitParameterInfo структура.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

Обратные вызовы

  • Вызванный системой, когда аудиоустройство обеспечило буфер выходных выборок.

    Объявление

    Swift

    typealias AUInputSamplesInOutputCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafePointer<AudioTimeStamp>, Float64, Float64) -> Void)>

    Objective C

    typedef void (*AUInputSamplesInOutputCallback) ( void *inRefCon, const AudioTimeStamp *inOutputTimeStamp, Float64 inInputSample, Float64 inNumberInputSamples );

    Параметры

    inRefCon

    Пользовательские данные, которые Вы предоставили при регистрации обратного вызова в аудиоустройстве.

    inOutputTimeStamp

    Метка времени, соответствующая первой выборке аудиоданных, произведенных в AudioUnitRender (его выходные данные).

    inInputSample

    Демонстрационное число ввода, представленного в первой выборке той выходной метки времени.

    inNumberInputSamples

    Число входных выборок, представленных в буфере вывода.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Когда Ваше приложение использует varispeed или смещающее подачу аудиоустройство, это может не быть ясно, которые вводят выборки, представлены в буфере выходных выборок. Эта функция обратного вызова решает эту проблему путем обеспечения входного демонстрационного числа, соответствующего первой выборке в буфере вывода.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Вызванный системой, когда аудиоустройство требует входных выборок, или прежде и после работы рендеринга.

    Объявление

    Swift

    typealias AURenderCallback = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafeMutablePointer<AudioUnitRenderActionFlags>, UnsafePointer<AudioTimeStamp>, UInt32, UInt32, UnsafeMutablePointer<AudioBufferList>) -> OSStatus)>

    Objective C

    typedef OSStatus (*AURenderCallback) ( void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData );

    Параметры

    inRefCon

    Пользовательские данные, которые Вы предоставили при регистрации обратного вызова в аудиоустройстве.

    ioActionFlags

    Флаги раньше описывали больше о контексте этого вызова (пред или сообщение в уведомлять случае, например).

    inTimeStamp

    Метка времени связалась с этим вызовом рендеринга аудиоустройства.

    inBusNumber

    Номер шины связался с этим вызовом рендеринга аудиоустройства.

    inNumberFrames

    Число демонстрационных кадров, которые будут представлены в аудиоданных в предоставленном параметре йодата.

    ioData

    AudioBufferList, который будет использоваться для содержания представленных или предоставленных аудиоданных.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Можно использовать эту функцию обратного вызова с обоими уведомление рендеринга аудиоустройства API (см. AudioUnitAddRenderNotify функция), и рендеринг ввел обратный вызов (см. kAudioUnitProperty_SetRenderCallback свойство).

    Как слушатель уведомления, система вызывает этот обратный вызов прежде и после операций рендеринга аудиоустройства.

    Поскольку работа рендеринга ввела обратный вызов, она вызывается, когда аудиоустройство требует входных выборок для входной шины, к которой присоединен обратный вызов.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Вызванный системой, когда изменилось значение указанного свойства аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitPropertyListenerProc = CFunctionPointer<((UnsafeMutablePointer<Void>, AudioUnit, AudioUnitPropertyID, AudioUnitScope, AudioUnitElement) -> Void)>

    Objective C

    typedef void (*AudioUnitPropertyListenerProc) ( void *inRefCon, AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement );

    Параметры

    inRefCon

    Пользовательские данные, которые Вы предоставили при регистрации обратного вызова в аудиоустройстве.

    inUnit

    Аудиоустройство, на которое изменилось указанное значение свойства.

    inID

    Свойство, значение которого изменилось.

    inScope

    Объем свойства, значение которого изменилось.

    inElement

    ID элемента на объеме свойства, значение которого изменилось.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Вы регистрируете Ваш AudioUnitPropertyListenerProc функция обратного вызова с помощью AudioUnitAddPropertyListener функция.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

Типы данных

  • Тип данных для сменного компонента, обеспечивающего генерация аудиоданных или обработка аудиоданных.

    Объявление

    Swift

    typealias AudioUnit = AudioComponentInstance

    Objective C

    typedef AudioComponentInstance AudioUnit;

    Обсуждение

    Различные типы аудиоустройств описаны в перечислении Типов Аудиоустройства. Подтипы аудиоустройств, предоставленных Apple, описаны в Подтипах Аудиоустройства Преобразователя, Подтипах Аудиоустройства Эффекта, Подтипах Аудиоустройства Микшера и Подтипах Аудиоустройства ввода/вывода.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Тип данных для идентификатора элемента аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitElement = UInt32

    Objective C

    typedef UInt32 AudioUnitElement;

    Обсуждение

    Элемент аудиоустройства является дискретным программируемым контекстом, вкладывающимся в объеме аудиоустройства (см. AudioUnitScope). В контексте объемов ввода и вывода элементы служат программируемыми аналогами шин физического сигнала в аппаратных аудиоустройствах. Из-за этой аналогии термин «шина» является общим синонимом для «элемента».

    Элементы являются индексированным нулем. Глобальная область видимости всегда имеет точно один элемент — элемент 0.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Тип данных для идентификатора параметра аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitParameterID = UInt32

    Objective C

    typedef UInt32 AudioUnitParameterID;

    Обсуждение

    Параметр аудиоустройства является корректируемой установкой со значением с плавающей точкой. Параметры для предоставленных Apple аудиоустройств описаны в Ссылке Параметров Аудиоустройства. См. также AudioUnitParameterValue, AudioUnitParameter.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Тип данных для значения параметра аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitParameterValue = Float32

    Objective C

    typedef Float32 AudioUnitParameterValue;

    Обсуждение

    Параметр аудиоустройства является корректируемой установкой, такой как усиление. Параметры для предоставленных Apple аудиоустройств описаны в Ссылке Параметров Аудиоустройства.

    Можно изменить значение параметра непосредственно путем вызова AudioUnitSetParameter функция или расписание изменение путем вызова AudioUnitScheduleParameters. См. также AudioUnitParameterID, AudioUnitParameter.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Тип данных для ключей свойства аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitPropertyID = UInt32

    Objective C

    typedef UInt32 AudioUnitPropertyID;

    Обсуждение

    Свойство аудиоустройства является парой ключ/значение для параметра конфигурации, такого как формат потока аудиоданных. Свойства для предоставленных Apple аудиоустройств описаны в Ссылке Свойств Аудиоустройства.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Тип данных для аудиоустройства определяет объем идентификаторов.

    Объявление

    Swift

    typealias AudioUnitScope = UInt32

    Objective C

    typedef UInt32 AudioUnitScope;

    Обсуждение

    Объем аудиоустройства является дискретным, nonnestable программируемым контекстом для аудиоустройства. Объемы для аудиоустройств описаны в Audio Unit Scopes перечисление.

    Apple резервирует идентификаторы объема аудиоустройства от 0 до 1,024.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Корректируемый атрибут аудиоустройства, такой как объем, подача или частота среза фильтра.

    Объявление

    Swift

    struct AudioUnitParameter { var mAudioUnit: AudioUnit var mParameterID: AudioUnitParameterID var mScope: AudioUnitScope var mElement: AudioUnitElement init() init(mAudioUnit mAudioUnit: AudioUnit, mParameterID mParameterID: AudioUnitParameterID, mScope mScope: AudioUnitScope, mElement mElement: AudioUnitElement) }

    Objective C

    struct AudioUnitParameter { AudioUnit mAudioUnit; AudioUnitParameterID mParameterID; AudioUnitScope mScope; AudioUnitElement mElement; }; typedef struct AudioUnitParameter AudioUnitParameter;

    Поля

    mAudioUnit

    Экземпляр аудиоустройства, которому применяется к параметр.

    mParameterID

    Идентификатор параметра аудиоустройства.

    mScope

    Объем аудиоустройства для параметра.

    mElement

    Элемент аудиоустройства для параметра.

    Обсуждение

    Эта структура данных используется функциями, объявленными в AudioToolbox/AudioUnitUtilities.h заголовочный файл в OS X.

    Параметр аудиоустройства однозначно определяется комбинацией его объема, элемента и ID.

    Доступность

    Доступный в iOS 2.0 и позже.

  • Запланированное изменение в значении параметра аудиоустройства.

    Объявление

    Swift

    struct AudioUnitParameterEvent { var scope: AudioUnitScope var element: AudioUnitElement var parameter: AudioUnitParameterID var eventType: AUParameterEventType init() }

    Objective C

    struct AudioUnitParameterEvent { AudioUnitScope scope; AudioUnitElement element; AudioUnitParameterID parameter; AUParameterEventType eventType; union { struct { SInt32 startBufferOffset; UInt32 durationInFrames; AudioUnitParameterValue startValue; AudioUnitParameterValue endValue; } ramp; struct { UInt32 bufferOffset; AudioUnitParameterValue value; } immediate ; } eventValues; }; typedef struct AudioUnitParameterEvent AudioUnitParameterEvent;

    Поля

    scope

    Объем аудиоустройства для параметра.

    element

    Элемент аудиоустройства для параметра.

    parameter

    Идентификатор параметра аудиоустройства

    eventType
    startBufferOffset

    Для сползавшего события параметра, демонстрационное время, в которое можно начать изменение значения параметра.

    durationInFrames

    Для сползавшего события параметра, числа кадров, по которым значение параметра должно линейно измениться от startValue к endValue.

    startValue

    Для сползавшего события параметра, стартового значения параметра.

    endValue

    Для сползавшего события параметра, конечного значения параметра.

    bufferOffset

    Для непосредственного события параметра, демонстрационное время, в которое можно изменить значение параметра.

    value

    Для непосредственного события параметра, нового значения параметра.

    Обсуждение

    Если eventType значение поля kParameterEvent_Immediate, используйте immediate структура в eventValues объединение. Если тип события kParameterEvent_Ramped, используйте ramp структура в eventValues объединение.

    Применяйтесь один или больше AudioUnitParameterEvent события к аудиоустройству с помощью AudioUnitScheduleParameters функция.

    Доступность

    Доступный в iOS 2.0 и позже.

  • Пара ключ/значение, объявляющая атрибут или поведение для аудиоустройства.

    Объявление

    Swift

    struct AudioUnitProperty { var mAudioUnit: AudioUnit var mPropertyID: AudioUnitPropertyID var mScope: AudioUnitScope var mElement: AudioUnitElement init() init(mAudioUnit mAudioUnit: AudioUnit, mPropertyID mPropertyID: AudioUnitPropertyID, mScope mScope: AudioUnitScope, mElement mElement: AudioUnitElement) }

    Objective C

    struct AudioUnitProperty { AudioUnit mAudioUnit; AudioUnitPropertyID mPropertyID; AudioUnitScope mScope; AudioUnitElement mElement; }; typedef struct AudioUnitProperty AudioUnitProperty;

    Поля

    mAudioUnit

    Экземпляр аудиоустройства, которому применяется к параметр.

    mPropertyID

    Идентификатор свойства аудиоустройства.

    mScope

    Объем аудиоустройства для свойства.

    mElement

    Элемент аудиоустройства для свойства.

    Доступность

    Доступный в iOS 2.0 и позже.

Константы

  • Определенные типы плагинов обработки аудиоданных, известных как аудиоустройства.

    Объявление

    Swift

    var kAudioUnitType_Output: Int { get } var kAudioUnitType_MusicDevice: Int { get } var kAudioUnitType_MusicEffect: Int { get } var kAudioUnitType_FormatConverter: Int { get } var kAudioUnitType_Effect: Int { get } var kAudioUnitType_Mixer: Int { get } var kAudioUnitType_Panner: Int { get } var kAudioUnitType_OfflineEffect: Int { get } var kAudioUnitType_Generator: Int { get }

    Objective C

    enum { kAudioUnitType_Output = 'auou', kAudioUnitType_MusicDevice = 'aumu', kAudioUnitType_MusicEffect = 'aumf', kAudioUnitType_FormatConverter = 'aufc', kAudioUnitType_Effect = 'aufx', kAudioUnitType_Mixer = 'aumx', kAudioUnitType_Panner = 'aupn', kAudioUnitType_OfflineEffect = 'auol', kAudioUnitType_Generator = 'augn', };

    Константы

    • kAudioUnitType_Output

      Устройство вывода обеспечивает ввод, вывод или оба ввода и вывода одновременно. Это может использоваться в качестве главы графика обработки аудиоустройства.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_MusicDevice

      Модуль инструментов может использоваться в качестве музыкального инструмента программного обеспечения, такого как сэмплер или синтезатор. Это реагирует на MIDI (Цифровой интерфейс музыкальных инструментов) сигналы управления и может создать примечания.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_MusicEffect

      Модуль эффекта, который может реагировать на управляющие сообщения MIDI, обычно посредством отображения сообщений MIDI к параметрам алгоритма DSP аудиоустройства.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_FormatConverter

      Модуль преобразователя форматов может преобразовать форматы аудио, такие как выполнение преобразования частоты дискретизации. Преобразователь форматов является также подходящим для задержанного рендеринга и для эффектов, таких как varispeed. Модуль преобразователя форматов может попросить так или такой маленький аудиовход, как это должно произвести данный вывод, все еще завершая его рендеринг в течение времени, представленного буфером вывода. Для подобных эффекту преобразователей форматов, таких как устройства изменения высоты тона, распространено обеспечить и в реальном времени и автономную версию. OS X, например, включает аудиоустройства Time-Pitch и Varispeed и в и в автономные версии в реальном времени.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_Effect

      Модуль эффекта неоднократно обрабатывает много выборок аудиовхода для создания того же числа выборок аудиовыхода. Обычно, модуль эффекта имеет единственный ввод и единственный вывод. Некоторые эффекты берут вводы боковой цепи также. Модули эффекта могут быть выполнены оффлайн, например, для обработки файла, не играя его, но, как ожидают, будут работать в в реальном времени.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_Mixer

      Модуль микшера берет много каналов ввода и смешивает их для обеспечения одного или более каналов вывода. Например, kAudioUnitSubType_StereoMixer аудиоустройство в OS X берет многократный моно или стереовходы, и произведите единственный вывод стерео.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_Panner

      Модуль регулировки панорамы является специализированным модулем эффекта, распределяющим один или несколько каналов в единственном вводе к одному или более каналам в единственном выводе. Модули регулировки панорамы должны поддерживать ряд стандартных параметров аудиоустройства, указывающих координаты панорамирования.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_OfflineEffect

      Оффлайновый модуль эффекта обеспечивает в некотором роде цифровую обработку сигналов, которая не может продолжиться в в реальном времени. Например, нормализация уровня требует исследования всего звука, начиная заканчиваться, прежде чем сможет быть вычислен коэффициент нормализации. Также, оффлайновые модули эффекта также имеют понятие этапа воспламенения, который может быть выполнен, прежде чем фактическая фаза рендеринга/обработки выполняется.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitType_Generator

      Модуль генератора обеспечивает аудиовыход, но не имеет никакого аудиовхода. Этот тип аудиоустройства является подходящим для генератора тональных сигналов. В отличие от модуля инструментов, модулю генератора не имели контроль.

      Доступный в iOS 2.0 и позже.

  • Код производителя аудиоустройства Apple.

    Объявление

    Swift

    var kAudioUnitManufacturer_Apple: Int { get }

    Objective C

    enum { kAudioUnitManufacturer_Apple = 'appl' };

    Константы

    • kAudioUnitManufacturer_Apple

      Уникальный код производителя, идентифицирующий аудиоустройства, предоставленные Apple Inc.

      Доступный в iOS 2.0 и позже.

  • Аудиоустройство преобразователя форматов аудиоданных выделяет подтипы для аудиоустройств, предоставленных Apple.

    Объявление

    Swift

    var kAudioUnitSubType_AUConverter: Int { get } var kAudioUnitSubType_NewTimePitch: Int { get } var kAudioUnitSubType_DeferredRenderer: Int { get } var kAudioUnitSubType_Splitter: Int { get } var kAudioUnitSubType_Merger: Int { get } var kAudioUnitSubType_Varispeed: Int { get } var kAudioUnitSubType_AUiPodTime: Int { get } var kAudioUnitSubType_AUiPodTimeOther: Int { get }

    Objective C

    enum { kAudioUnitSubType_AUConverter = 'conv', kAudioUnitSubType_NewTimePitch = 'nutp', kAudioUnitSubType_TimePitch = 'tmpt', kAudioUnitSubType_DeferredRenderer = 'defr', kAudioUnitSubType_Splitter = 'splt', kAudioUnitSubType_Merger = 'merg', kAudioUnitSubType_Varispeed = 'vari', kAudioUnitSubType_AUiPodTime = 'iptm', kAudioUnitSubType_AUiPodTimeOther = 'ipto' };

    Константы

    • kAudioUnitSubType_AUConverter

      Аудиоустройство, использующее аудио преобразователь, чтобы сделать линейные импульсно-кодовые модуляции, такие как изменения в частоте дискретизации, битовой глубине или чередовании.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSubType_NewTimePitch

      Аудиоустройство, которое может использоваться, чтобы иметь независимый контроль и над скоростью воспроизведения и над подачей. В OS X это обеспечивает универсальное представление, таким образом, это может использоваться и в UI и в программируемом контексте. Это также прибывает в автономную версию для обработки аудиофайлов.

      Доступный в iOS 6.0 и позже.

    • kAudioUnitSubType_TimePitch

      Аудиоустройство, которое может обеспечить независимое управление скорости воспроизведения и подачу. Этот подтип обеспечивает универсальное представление, делая его подходящим для UI и программируемого контекста. OS X обеспечивает и оффлайновые аудиоустройства в реальном времени этого подтипа.

      Доступный в iOS 2.0 через iOS 2.0.

    • kAudioUnitSubType_DeferredRenderer

      Аудиоустройство, получающее аудиовход от отдельного потока, чем поток, на котором вызывают его метод рендеринга. Можно использовать этот подтип для введения многократных потоков в график обработки аудиоустройства. Существует задержка, равная размеру буфера, представленному между аудиовходом и выводом.

      Доступный в iOS 6.0 и позже.

    • kAudioUnitSubType_Splitter

      Аудиоустройство с одной входной шиной и двумя выходными шинами. Аудиоустройство копирует входной сигнал к каждой из его двух выходных шин.

      Доступный в iOS 6.0 и позже.

    • kAudioUnitSubType_Merger

      Аудиоустройство с двумя входными шинами и одной выходной шиной. Аудиоустройство объединяет эти два входных сигнала с единственным выводом.

      Доступный в iOS 6.0 и позже.

    • kAudioUnitSubType_Varispeed

      Аудиоустройство, которое может управлять скоростью воспроизведения. Поскольку скорость воспроизведения увеличивается, подача - также. Этот подтип обеспечивает универсальное представление, делая его подходящим для UI и программируемого контекста. OS X обеспечивает и оффлайновые аудиоустройства в реальном времени этого подтипа.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_AUiPodTime

      Аудиоустройство iPhone OS, обеспечивающее простое, ограниченное управление скоростью воспроизведения и время.

      Доступный в iOS 2.1 и позже.

    • kAudioUnitSubType_AUiPodTimeOther

      Доступный в iOS 5.0 и позже.

  • Эффект (цифровая обработка сигналов) аудиоустройство выделяет подтипы для аудиоустройств, предоставленных Apple.

    Объявление

    Swift

    var kAudioUnitSubType_PeakLimiter: Int { get } var kAudioUnitSubType_DynamicsProcessor: Int { get } var kAudioUnitSubType_Reverb2: Int { get } var kAudioUnitSubType_LowPassFilter: Int { get } var kAudioUnitSubType_HighPassFilter: Int { get } var kAudioUnitSubType_BandPassFilter: Int { get } var kAudioUnitSubType_HighShelfFilter: Int { get } var kAudioUnitSubType_LowShelfFilter: Int { get } var kAudioUnitSubType_ParametricEQ: Int { get } var kAudioUnitSubType_Delay: Int { get } var kAudioUnitSubType_SampleDelay: Int { get } var kAudioUnitSubType_Distortion: Int { get } var kAudioUnitSubType_AUiPodEQ: Int { get } var kAudioUnitSubType_NBandEQ: Int { get }

    Objective C

    enum { kAudioUnitSubType_PeakLimiter = 'lmtr', kAudioUnitSubType_DynamicsProcessor = 'dcmp', kAudioUnitSubType_Reverb2 = 'rvb2', kAudioUnitSubType_LowPassFilter = 'lpas', kAudioUnitSubType_HighPassFilter = 'hpas', kAudioUnitSubType_BandPassFilter = 'bpas', kAudioUnitSubType_HighShelfFilter = 'hshf', kAudioUnitSubType_LowShelfFilter = 'lshf', kAudioUnitSubType_ParametricEQ = 'pmeq', kAudioUnitSubType_Delay = 'dely', kAudioUnitSubType_SampleDelay = 'sdly', kAudioUnitSubType_Distortion = 'dist', kAudioUnitSubType_AUiPodEQ = 'ipeq', kAudioUnitSubType_NBandEQ = 'nbeq' };

    Константы

    • kAudioUnitSubType_PeakLimiter

      Аудиоустройство, осуществляющее верхний динамический предел на звуковом сигнале.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_DynamicsProcessor

      Аудиоустройство, обеспечивающее динамическое сжатие или расширение.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_Reverb2

      Модуль реверберации для iOS.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_LowPassFilter

      Аудиоустройство, передающее частоты ниже указанной частоты отсечки и блокирующее частоты выше той частоты отсечки.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_HighPassFilter

      Аудиоустройство, передающее частоты выше указанной частоты отсечки и блокирующее частоты ниже той частоты отсечки.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_BandPassFilter

      Аудиоустройство, передающее частоты между указанными верхними и более низкими частотами отсечки и блокирующее частоты вне той полосы.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_HighShelfFilter

      Аудиоустройство, подходящее для реализации тройного управления в воспроизведении аудио или записи системы.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_LowShelfFilter

      Аудиоустройство, подходящее для реализации тонконтроля НЧ в воспроизведении аудио или записи системы.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_ParametricEQ

      Аудиоустройство, обеспечивающее фильтр, центральная частота которого, уровень повышения/сокращения и Q могут быть скорректированы.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_Delay

      Аудиоустройство, представляющее задержку сигналу.

      Доступный в iOS 6.0 и позже.

    • kAudioUnitSubType_SampleDelay

      Аудиоустройство, обеспечивающее задержку конкретного количества выборок.

      Доступный в iOS 8.0 и позже.

    • kAudioUnitSubType_Distortion

      Аудиоустройство, обеспечивающее эффект искажения.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_AUiPodEQ

      Аудиоустройство, обеспечивающее графический эквалайзер в iPhone OS.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSubType_NBandEQ

      Многополосный эквалайзер с specifiable фильтром вводит для каждой полосы.

      Доступный в iOS 5.0 и позже.

  • Аудиоустройство микширования звука выделяет подтипы для аудиоустройств, предоставленных Apple.

    Объявление

    Swift

    var kAudioUnitSubType_MultiChannelMixer: Int { get } var kAudioUnitSubType_MatrixMixer: Int { get } var kAudioUnitSubType_AU3DMixerEmbedded: Int { get }

    Objective C

    enum { kAudioUnitSubType_MultiChannelMixer = 'mcmx', kAudioUnitSubType_MatrixMixer = 'mxmx', kAudioUnitSubType_AU3DMixerEmbedded = '3dem', };

    Константы

    • kAudioUnitSubType_MultiChannelMixer

      Аудиоустройство, которое может иметь любое число входных шин с любым числом каналов на каждой входной шине и одной выходной шине. В OS X выходная шина может иметь любое число каналов. В iPhone OS выходная шина всегда имеет два канала.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSubType_MatrixMixer

      Аудиоустройство, которое может иметь любое число шин ввода и вывода с любым числом каналов на каждой шине. Вы конфигурируете соединение с помощью матрицы каналов с отдельным управлением уровнем на входе для каждого канала. Аудиоустройство также обеспечивает управление индивидуальным уровнем для каждого входного канала к комбинации канала вывода, а также регулятор уровня для каждого канала вывода. Наконец, аудиоустройство обеспечивает управление глобальным уровнем для матрицы в целом.

      Доступный в iOS 6.0 и позже.

    • kAudioUnitSubType_AU3DMixerEmbedded

      Аудиоустройство в iPhone OS, которая является упрощенной версией OS X kAudioUnitSubType_3DMixer аудиоустройство. Это может иметь любое число входных шин и одной выходной шины. Каждая входная шина может быть стерео или моно. Выходная шина является стерео.

      Доступный в iOS 2.0 и позже.

  • Аудиоустройства, служащие звуковыми источниками.

    Объявление

    Swift

    var kAudioUnitSubType_ScheduledSoundPlayer: Int { get } var kAudioUnitSubType_AudioFilePlayer: Int { get }

    Objective C

    enum { kAudioUnitSubType_ScheduledSoundPlayer = 'sspl', kAudioUnitSubType_AudioFilePlayer = 'afpl', };

    Константы

    • kAudioUnitSubType_ScheduledSoundPlayer

      Модуль генератора, который может использоваться для планирования частей аудио, которое будет играться в требуемое время. Аудио планируется с помощью меток времени для работы рендеринга и может быть запланировано от любого потока.

      Доступный в iOS 5.0 и позже.

    • kAudioUnitSubType_AudioFilePlayer

      Модуль генератора, использующийся для игры файла. В OS X это представляет пользовательский UI, так может использоваться в контексте UI, а также в программируемом контексте.

      Доступный в iOS 5.0 и позже.

  • Аудиоустройства, которые могут играться как музыкальные инструменты через управление MIDI.

    Объявление

    Swift

    var kAudioUnitSubType_Sampler: Int { get }

    Objective C

    enum { kAudioUnitSubType_Sampler = 'samp' };

    Константы

    • kAudioUnitSubType_Sampler

      Монотембральный модуль инструментов, функционирующий синтезатор сэмплера и поддерживающий полное интерактивное редактирование его состояния.

      Доступный в iOS 5.0 и позже.

  • Аудиоустройство ввода/вывода выделяет подтипы для аудиоустройств, предоставленных Apple.

    Объявление

    Swift

    var kAudioUnitSubType_GenericOutput: Int { get } var kAudioUnitSubType_RemoteIO: Int { get } var kAudioUnitSubType_VoiceProcessingIO: Int { get }

    Objective C

    enum { kAudioUnitSubType_GenericOutput = 'genr', kAudioUnitSubType_RemoteIO = 'rioc', kAudioUnitSubType_VoiceProcessingIO = 'vpio' };

    Константы

    • kAudioUnitSubType_GenericOutput

      Аудиоустройство, отвечающее для запуска вызовов и предоставляющее базовые услуги для преобразования в и от линейных форматов PCM.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSubType_RemoteIO

      Аудиоустройство, взаимодействующее через интерфейс к аудиовходам и выводам устройств iPhone OS. Шина 0 обеспечивает вывод для аппаратных средств и шины 1 принимает ввод от аппаратных средств. Названный аудиоустройством I/O или иногда Удаленным аудиоустройством I/O.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSubType_VoiceProcessingIO

      Аудиоустройство, взаимодействующее через интерфейс к аудиовходам и выводам устройств iPhone OS и обеспечивающее речевые функции обработки. Шина 0 обеспечивает вывод для аппаратных средств и шины 1 принимает ввод от аппаратных средств. Посмотрите Voice-Processing I/O Audio Unit Properties перечисление для идентификаторов для свойств этого аудиоустройства.

      Доступный в iOS 3.0 и позже.

  • Типы событий параметра аудиоустройства.

    Объявление

    Swift

    typealias AUParameterEventType = UInt32

    Objective C

    enum { kParameterEvent_Immediate = 1, kParameterEvent_Ramped = 2 }; typedef UInt32 AUParameterEventType;

    Константы

    • kParameterEvent_Immediate

      Непосредственное изменение от предыдущего значения параметра до нового значения.

      Доступный в iOS 2.0 и позже.

    • kParameterEvent_Ramped

      Постепенное изменение от предыдущего значения параметра до нового значения, примененного линейно за установленный период времени

      Доступный в iOS 2.0 и позже.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Флаги для конфигурирования рендеринга аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitRenderActionFlags = UInt32

    Objective C

    enum { kAudioUnitRenderAction_PreRender = (1 << 2), kAudioUnitRenderAction_PostRender = (1 << 3), kAudioUnitRenderAction_OutputIsSilence = (1 << 4), kAudioOfflineUnitRenderAction_Preflight = (1 << 5), kAudioOfflineUnitRenderAction_Render = (1 << 6), kAudioOfflineUnitRenderAction_Complete = (1 << 7), kAudioUnitRenderAction_PostRenderError = (1 << 8), kAudioUnitRenderAction_DoNotCheckRenderArgs = (1 << 9) }; typedef UInt32 AudioUnitRenderActionFlags;

    Константы

    • kAudioUnitRenderAction_PreRender

      Обращенный уведомление рендеринга Proc - который вызывают или прежде или после работы рендеринга аудиоустройства. Если этот флаг установлен, proc вызывают, прежде чем работа рендеринга выполняется.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRenderAction_PostRender

      Обращенный уведомление рендеринга Proc - который вызывают или прежде или после работы рендеринга аудиоустройства. Если этот флаг установлен, proc вызывают после того, как работа рендеринга завершается.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRenderAction_OutputIsSilence

      Этот флаг может быть установлен во входном обратном вызове рендеринга (или в самой работе рендеринга аудиоустройства) и используется, чтобы указать, что буфер рендеринга содержит только тишину. Это может тогда использоваться вызывающей стороной в качестве подсказки к тому, должен ли буфер быть обработан или нет.

      Доступный в iOS 2.0 и позже.

    • kAudioOfflineUnitRenderAction_Preflight

      Это используется с оффлайновыми аудиоустройствами (типа 'auol'). Это используется, когда оффлайновый модуль является preflighted, выполняющимся до фактических оффлайновых действий рендеринга, выполняются. Это используется для тех случаев, где для оффлайнового процесса нужен он (например, с оффлайновым модулем, нормализующим аудиофайл, это должно видеть все аудиоданные сначала, прежде чем это сможет выполнить свою нормализацию).

      Доступный в iOS 2.0 и позже.

    • kAudioOfflineUnitRenderAction_Render

      Как только оффлайновый модуль был успешно preflighted, он тогда помещается в его режим рендеринга. Таким образом, этот флаг установлен указать к аудиоустройству, что теперь в том состоянии и это должно выполнить свою обработку на входных данных.

      Доступный в iOS 2.0 и позже.

    • kAudioOfflineUnitRenderAction_Complete

      Когда оффлайновый модуль завершил или свой предварительный рейс или выполнил работу рендеринга, этот флаг установлен.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRenderAction_PostRenderError

      Если этот флаг установлен на вызове пострендеринга, ошибка была возвращена работой рендеринга аудиоустройства. В этом случае ошибка может быть получена через lastRenderError свойство и аудиоданные в ioData врученный уведомлению пострендеринга будет недопустимо.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRenderAction_DoNotCheckRenderArgs

      Если этот флаг установлен, то проверки, сделанные на параметрах, предоставленных для рендеринга, не выполняются. Это может быть полезно для использования для сохранения времени вычисления в ситуациях, где Вы уверены, что обеспечиваете корректные параметры и структуры к различным вызовам рендеринга.

      Доступный в iOS 4.0 и позже.

    Обсуждение

    Эти флаги могут быть установлены в обратном вызове от аудиоустройства во время работы рендеринга аудиоустройства от любого RenderNotify Proc или рендеринг вводят обратный вызов.

    Оператор импорта

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Общие компонентные селекторы аудиоустройства, соответствующие функциям в аудиоустройстве API.

    Объявление

    Swift

    var kAudioUnitRange: Int { get } var kAudioUnitInitializeSelect: Int { get } var kAudioUnitUninitializeSelect: Int { get } var kAudioUnitGetPropertyInfoSelect: Int { get } var kAudioUnitGetPropertySelect: Int { get } var kAudioUnitSetPropertySelect: Int { get } var kAudioUnitAddPropertyListenerSelect: Int { get } var kAudioUnitRemovePropertyListenerSelect: Int { get } var kAudioUnitRemovePropertyListenerWithUserDataSelect: Int { get } var kAudioUnitAddRenderNotifySelect: Int { get } var kAudioUnitRemoveRenderNotifySelect: Int { get } var kAudioUnitGetParameterSelect: Int { get } var kAudioUnitSetParameterSelect: Int { get } var kAudioUnitScheduleParametersSelect: Int { get } var kAudioUnitRenderSelect: Int { get } var kAudioUnitResetSelect: Int { get } var kAudioUnitComplexRenderSelect: Int { get } var kAudioUnitProcessSelect: Int { get } var kAudioUnitProcessMultipleSelect: Int { get }

    Objective C

    enum { kAudioUnitRange = 0x0000, kAudioUnitInitializeSelect = 0x0001, kAudioUnitUninitializeSelect = 0x0002, kAudioUnitGetPropertyInfoSelect = 0x0003, kAudioUnitGetPropertySelect = 0x0004, kAudioUnitSetPropertySelect = 0x0005, kAudioUnitAddPropertyListenerSelect = 0x000A, kAudioUnitRemovePropertyListenerSelect = 0x000B, kAudioUnitRemovePropertyListenerWithUserDataSelect = 0x0012, kAudioUnitAddRenderNotifySelect = 0x000F, kAudioUnitRemoveRenderNotifySelect = 0x0010, kAudioUnitGetParameterSelect = 0x0006, kAudioUnitSetParameterSelect = 0x0007, kAudioUnitScheduleParametersSelect = 0x0011, kAudioUnitRenderSelect = 0x000E, kAudioUnitResetSelect = 0x0009, kAudioUnitComplexRenderSelect = 0x0013, kAudioUnitProcessSelect = 0x0014, kAudioUnitProcessMultipleSelect = 0x0015 };

    Константы

    • kAudioUnitRange

      Запуск числового диапазона для общих селекторов функции аудиоустройства.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitInitializeSelect

      Используемый системой для инициализации аудиоустройства, когда Вы вызываете AudioUnitInitialize функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitUninitializeSelect

      Используемый системой для деинициализации аудиоустройства, когда Вы вызываете AudioUnitUninitialize функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitGetPropertyInfoSelect

      Используемый системой для получения информации свойства от аудиоустройства, когда Вы вызываете AudioUnitGetPropertyInfo функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitGetPropertySelect

      Используемый системой для получения значения свойства от аудиоустройства, когда Вы вызываете AudioUnitGetProperty функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSetPropertySelect

      Используемый системой для установки значения свойства аудиоустройства, когда Вы вызываете AudioUnitSetProperty функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitAddPropertyListenerSelect

      Используемый системой для регистрации функции обратного вызова слушателя свойства для аудиоустройства, когда Вы вызываете AudioUnitAddPropertyListener функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRemovePropertyListenerSelect

      Используемый системой, чтобы не зарегистрировать функцию обратного вызова слушателя свойства от аудиоустройства, когда Вы вызываете AudioUnitRemovePropertyListener функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRemovePropertyListenerWithUserDataSelect

      Используемый системой, чтобы не зарегистрировать функцию обратного вызова слушателя свойства, связанную с указанными пользовательскими данными, от аудиоустройства, когда Вы вызываете AudioUnitRemovePropertyListenerWithUserData функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitAddRenderNotifySelect

      Используемый системой для регистрации функции обратного вызова уведомления рендеринга для аудиоустройства, когда Вы вызываете AudioUnitAddRenderNotify функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRemoveRenderNotifySelect

      Используемый системой, чтобы не зарегистрировать функцию обратного вызова уведомления рендеринга от аудиоустройства, когда Вы вызываете AudioUnitRemoveRenderNotify функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitGetParameterSelect

      Используемый системой для получения текущей стоимости параметра аудиоустройства, когда Вы вызываете AudioUnitGetParameter функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitSetParameterSelect

      Используемый системой для установки значения параметра аудиоустройства, когда Вы вызываете AudioUnitSetParameter функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitScheduleParametersSelect

      Используемый системой для планирования изменения значения параметра аудиоустройства, когда Вы вызываете AudioUnitScheduleParameters функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitRenderSelect

      Используемый системой для вызова рендеринга аудио аудиоустройством, когда Вы вызываете AudioUnitRender функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitResetSelect

      Используемый системой для сброса аудиоустройства, когда Вы вызываете AudioUnitReset функция.

      Доступный в iOS 2.0 и позже.

    • kAudioUnitComplexRenderSelect

      Доступный в iOS 4.0 и позже.

    • kAudioUnitProcessSelect

      Доступный в iOS 4.0 и позже.

    • kAudioUnitProcessMultipleSelect

      Доступный в iOS 5.0 и позже.

    Обсуждение

    Для компонента аудиоустройства функциональные селекторы, применяющиеся к аудиоустройствам I/O, видят Ссылку Output Audio Unit Services.

Коды результата

Эта таблица приводит коды результата, определенные для Audio Unit Component Services.