Компонентная ссылка служб аудиоустройства
Audio Unit Component Services обеспечивает интерфейс C для использования аудиоустройств. Аудиоустройство является плагином обработки аудиоданных, используемым для обработки или генерации аудиоданных. Для нахождения откройтесь и закройте аудиоустройства, Вы используете сопутствующий интерфейс, Audio Component Services, описанную в Ссылке Audio Component Services.
Аудиоустройство однозначно определяется триплетом кодов, известных как тип, подтип и производитель ID. Посмотрите AudioComponentDescription структура в Ссылке Audio Component Services.
-
Инициализирует аудиоустройство
Объявление
Objective C
OSStatus AudioUnitInitialize ( AudioUnit inUnit );Параметры
inUnitАудиоустройство для инициализации.
Возвращаемое значение
Код результата.
Обсуждение
На успешной инициализации форматы аудио для ввода и вывода допустимы, и аудиоустройство готово представить. Во время инициализации аудиоустройство выделяет память согласно максимальному количеству аудио кадров, которые это может произвести в ответ на единственный вызов рендеринга.
Обычно, в то время как аудиоустройство инициализируется, состояние аудиоустройства (такого как его форматы I/O и выделения памяти) не может быть изменено.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Деинициализирует аудиоустройство.
Объявление
Objective C
OSStatus AudioUnitUninitialize ( AudioUnit inUnit );Параметры
inUnitАудиоустройство, которое Вы хотите деинициализировать.
Возвращаемое значение
Код результата.
Обсуждение
Перед изменением характеристик обработки инициализировать аудиоустройства, таких как ее формат аудиоданных ввода или вывода или ее частота дискретизации, необходимо сначала деинициализировать его. Вызывание этой функции освобождает ресурсы аудиоустройства.
После вызывания этой функции можно реконфигурировать аудиоустройство и затем вызвать
AudioUnitInitializeповторно инициализировать его.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Регистрирует обратный вызов для получения уведомлений рендеринга аудиоустройства.
Объявление
Swift
func AudioUnitAddRenderNotify(_inUnit: AudioUnit, _inProc: AURenderCallback, _inProcUserData: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioUnitAddRenderNotify ( AudioUnit inUnit, AURenderCallback inProc, void *inProcUserData );Параметры
inUnitАудиоустройство, из которого Вы хотите получить уведомления рендеринга.
inProcОбратный вызов, который Вы регистрируете.
inProcUserDataПользовательские данные, которые Вы хотите быть отправленными в Ваш обратный вызов. Используйте это, например, для идентификации слушателя рендеринга.
Возвращаемое значение
Код результата.
Обсуждение
Зарегистрированную функцию обратного вызова вызывают обоими, прежде чем аудиоустройство выполнит свои операции рендеринга (когда предварительный рендеринг флага рендеринга укусил, установлен), и после того, как аудиоустройство завершило свою работу рендеринга (пострендеринг флага рендеринга укусил, установлен).
inProcиinProcUserDataпараметры обрабатываются как идентификатор с двумя частями. Для удаления слушателя рендеринга необходимо передать оба этих значенияAudioUnitRemoveRenderNotifyфункция.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Не регистрирует ранее зарегистрированную функцию обратного вызова слушателя рендеринга.
Объявление
Swift
func AudioUnitRemoveRenderNotify(_inUnit: AudioUnit, _inProc: AURenderCallback, _inProcUserData: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioUnitRemoveRenderNotify ( AudioUnit inUnit, AURenderCallback inProc, void *inProcUserData );Параметры
inUnitАудиоустройство, из которого Вы больше не хотите получить уведомления рендеринга.
inProcФункция обратного вызова, которую Вы ранее зарегистрировали и теперь не регистрируете.
inProcUserDataПользовательские данные, которые Вы предоставили при регистрации функции обратного вызова.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.2 и позже.
-
Инициирует цикл рендеринга для аудиоустройства.
Объявление
Swift
func AudioUnitRender(_inUnit: AudioUnit, _ioActionFlags: UnsafeMutablePointer<AudioUnitRenderActionFlags>, _inTimeStamp: UnsafePointer<AudioTimeStamp>, _inOutputBusNumber: UInt32, _inNumberFrames: UInt32, _ioData: UnsafeMutablePointer<AudioBufferList>) -> OSStatusObjective 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Доступность
Доступный в OS X v10.2 и позже.
-
Сбрасывает состояние рендеринга аудиоустройства.
Объявление
Swift
func AudioUnitReset(_inUnit: AudioUnit, _inScope: AudioUnitScope, _inElement: AudioUnitElement) -> OSStatusObjective C
OSStatus AudioUnitReset ( AudioUnit inUnit, AudioUnitScope inScope, AudioUnitElement inElement );Параметры
inUnitАудиоустройство, состояние рендеринга которого Вы сбрасываете.
inScopeОбъем аудиоустройства, обычно набор к
kAudioUnitScope_Global.inElementЭлемент аудиоустройства, обычно набор к
0.Возвращаемое значение
Код результата.
Обсуждение
Эта функция сбрасывает состояние рендеринга аудиоустройства. Например, с задержкой или типом реверберации аудиоустройства, это очищает все строки задержки, сохраняемые в аудиоустройстве. Как правило, Вы вызываете эту функцию, когда аудиоустройство ранее представляло и было вынуто из цепочки рендеринга (например, если дорожка, в которой это находится, отключена звук), и теперь включается назад (например, нес отключенным звуком). Ваше приложение должно сбросить аудиоустройство прежде, чем добавить его назад к цепочке рендеринга так, чтобы это не производило аудио из своих строк задержки, которое больше не действительно.
Эта функция очищает память. Это не выделяет или ресурсы свободной памяти.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Регистрирует обратный вызов для получения уведомлений изменения свойства аудиоустройства.
Объявление
Swift
func AudioUnitAddPropertyListener(_inUnit: AudioUnit, _inID: AudioUnitPropertyID, _inProc: AudioUnitPropertyListenerProc, _inProcUserData: UnsafeMutablePointer<Void>) -> OSStatusObjective 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Доступность
Доступный в OS X v10.0 и позже.
-
Оператор осуждения
Используйте
AudioUnitRemovePropertyListenerWithUserDataфункция вместо этого.Объявление
Objective C
OSStatus AudioUnitRemovePropertyListener ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitPropertyListenerProc inProc );Параметры
ciinIDinProcВозвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioUnit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.5.
Не доступный 64-разрядным приложениям.
-
AudioUnitRemovePropertyListenerWithUserData (_: _: _: _:) AudioUnitRemovePropertyListenerWithUserDataНе регистрирует ранее зарегистрированную функцию обратного вызова слушателя свойства.
Объявление
Swift
func AudioUnitRemovePropertyListenerWithUserData(_inUnit: AudioUnit, _inID: AudioUnitPropertyID, _inProc: AudioUnitPropertyListenerProc, _inProcUserData: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus AudioUnitRemovePropertyListenerWithUserData ( AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitPropertyListenerProc inProc, void *inProcUserData );Параметры
inUnitАудиоустройство, из которого Вы больше не хотите получить уведомления изменения свойства.
inIDИдентификатор для свойства, которое Вы больше не хотите контролировать.
inProcФункция обратного вызова, которую Вы ранее зарегистрировали и теперь не регистрируете.
inProcUserDataПользовательские данные, которые Вы предоставили при регистрации функции обратного вызова.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Получает значение свойства аудиоустройства.
Объявление
Swift
func AudioUnitGetProperty(_inUnit: AudioUnit, _inID: AudioUnitPropertyID, _inScope: AudioUnitScope, _inElement: AudioUnitElement, _outData: UnsafeMutablePointer<Void>, _ioDataSize: UnsafeMutablePointer<UInt32>) -> OSStatusObjective 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Доступность
Доступный в OS X v10.0 и позже.
-
Получает информацию о свойстве аудиоустройства.
Объявление
Swift
func AudioUnitGetPropertyInfo(_inUnit: AudioUnit, _inID: AudioUnitPropertyID, _inScope: AudioUnitScope, _inElement: AudioUnitElement, _outDataSize: UnsafeMutablePointer<UInt32>, _outWritable: UnsafeMutablePointer<Boolean>) -> OSStatusObjective 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Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает значение свойства аудиоустройства.
Объявление
Swift
func AudioUnitSetProperty(_inUnit: AudioUnit, _inID: AudioUnitPropertyID, _inScope: AudioUnitScope, _inElement: AudioUnitElement, _inData: UnsafePointer<Void>, _inDataSize: UInt32) -> OSStatusObjective 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Доступность
Доступный в OS X v10.0 и позже.
-
Получает значение параметра аудиоустройства.
Объявление
Swift
func AudioUnitGetParameter(_inUnit: AudioUnit, _inID: AudioUnitParameterID, _inScope: AudioUnitScope, _inElement: AudioUnitElement, _outValue: UnsafeMutablePointer<AudioUnitParameterValue>) -> OSStatusObjective 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Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает значение параметра аудиоустройства.
Объявление
Swift
func AudioUnitSetParameter(_inUnit: AudioUnit, _inID: AudioUnitParameterID, _inScope: AudioUnitScope, _inElement: AudioUnitElement, _inValue: AudioUnitParameterValue, _inBufferOffsetInFrames: UInt32) -> OSStatusObjective 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Доступность
Доступный в OS X v10.0 и позже.
-
Расписания изменяются на значение параметра аудиоустройства.
Объявление
Swift
func AudioUnitScheduleParameters(_inUnit: AudioUnit, _inParameterEvent: UnsafePointer<AudioUnitParameterEvent>, _inNumParamEvents: UInt32) -> OSStatusObjective C
OSStatus AudioUnitScheduleParameters ( AudioUnit inUnit, const AudioUnitParameterEvent *inParameterEvent, UInt32 inNumParamEvents );Параметры
inUnitАудиоустройство, для которого Вы хотите запланировать изменения параметра.
inParameterEventОдно или более событий параметра, которые Вы хотите запланировать.
inNumParamEventsЧисло событий параметра аудиоустройства, представленных в
inParameterEventпараметр.Возвращаемое значение
Код результата.
Обсуждение
Используйте эту функцию для планирования изменений в значении параметра аудиоустройства.
Так называемое непосредственное событие параметра аудиоустройства имеет место в будущее время и включает непосредственное изменение от одного значения до другого.
Так называемое сползало, событие параметра аудиоустройства начинается в будущее время и продолжается линейно, по конкретному количеству аудиосэмплов, от начального значения до окончательного значения.
С единственным вызовом к этой функции можно запланировать многократные события параметра. Все события применяются только к текущему вызову рендеринга аудиоустройства; события планируются как часть обратного вызова уведомления перед рендерингом.
При планировании непосредственного события параметра Вы обеспечиваете новое значение, которое будет установлено при указанном демонстрационном буферном смещении.
При планировании сползавшего параметра скат планируется каждый рендеринг аудиоустройства на время ската. Каждое расписание новый рендеринг аудиоустройства указывает прогресс ската.
Параметр аудиоустройства, принимающий запланированные события, указывает это через
AudioUnitParameterInfoструктура.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.2 и позже.
-
Вызванный системой, когда аудиоустройство обеспечило буфер выходных выборок.
Объявление
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Доступность
Доступный в OS X v10.5 и позже.
-
Вызванный системой, когда аудиоустройство требует входных выборок, или прежде и после работы рендеринга.
Объявление
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Число демонстрационных кадров, которые будут представлены в аудиоданных в предоставленном параметре йодата.
ioDataAudioBufferList, который будет использоваться для содержания представленных или предоставленных аудиоданных.
Возвращаемое значение
Код результата.
Обсуждение
Можно использовать эту функцию обратного вызова с обоими уведомление рендеринга аудиоустройства API (см.
AudioUnitAddRenderNotifyфункция), и рендеринг ввел обратный вызов (см.kAudioUnitProperty_SetRenderCallbackсвойство).Как слушатель уведомления, система вызывает этот обратный вызов прежде и после операций рендеринга аудиоустройства.
Поскольку работа рендеринга ввела обратный вызов, она вызывается, когда аудиоустройство требует входных выборок для входной шины, к которой присоединен обратный вызов.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.2 и позже.
-
Вызванный системой, когда изменилось значение указанного свойства аудиоустройства.
Объявление
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Объем свойства, значение которого изменилось.
inElementID элемента на объеме свойства, значение которого изменилось.
Возвращаемое значение
Код результата.
Обсуждение
Вы регистрируете Ваш
AudioUnitPropertyListenerProcфункция обратного вызова с помощьюAudioUnitAddPropertyListenerфункция.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Тип данных для сменного компонента, обеспечивающего генерация аудиоданных или обработка аудиоданных.
Объявление
Swift
typealias AudioUnit = AudioComponentInstanceObjective C
typedef AudioComponentInstance AudioUnit;Обсуждение
Различные типы аудиоустройств описаны в перечислении Типов Аудиоустройства. Подтипы аудиоустройств, предоставленных Apple, описаны в Подтипах Аудиоустройства Преобразователя, Подтипах Аудиоустройства Эффекта, Подтипах Аудиоустройства Микшера и Подтипах Аудиоустройства ввода/вывода.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Тип данных для идентификатора элемента аудиоустройства.
Объявление
Swift
typealias AudioUnitElement = UInt32Objective C
typedef UInt32 AudioUnitElement;Обсуждение
Элемент аудиоустройства является дискретным программируемым контекстом, вкладывающимся в объеме аудиоустройства (см.
AudioUnitScope). В контексте объемов ввода и вывода элементы служат программируемыми аналогами шин физического сигнала в аппаратных аудиоустройствах. Из-за этой аналогии термин «шина» является общим синонимом для «элемента».Элементы являются индексированным нулем. Глобальная область видимости всегда имеет точно один элемент — элемент 0.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Тип данных для идентификатора параметра аудиоустройства.
Объявление
Swift
typealias AudioUnitParameterID = UInt32Objective C
typedef UInt32 AudioUnitParameterID;Обсуждение
Параметр аудиоустройства является корректируемой установкой со значением с плавающей точкой. Параметры для предоставленных Apple аудиоустройств описаны в Ссылке Параметров Аудиоустройства. См. также
AudioUnitParameterValue,AudioUnitParameter.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Тип данных для значения параметра аудиоустройства.
Объявление
Swift
typealias AudioUnitParameterValue = Float32Objective C
typedef Float32 AudioUnitParameterValue;Обсуждение
Параметр аудиоустройства является корректируемой установкой, такой как усиление. Параметры для предоставленных Apple аудиоустройств описаны в Ссылке Параметров Аудиоустройства.
Можно изменить значение параметра непосредственно путем вызова
AudioUnitSetParameterфункция или расписание изменение путем вызоваAudioUnitScheduleParameters. См. такжеAudioUnitParameterID,AudioUnitParameter.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.5 и позже.
-
Тип данных для ключей свойства аудиоустройства.
Объявление
Swift
typealias AudioUnitPropertyID = UInt32Objective C
typedef UInt32 AudioUnitPropertyID;Обсуждение
Свойство аудиоустройства является парой ключ/значение для параметра конфигурации, такого как формат потока аудиоданных. Свойства для предоставленных Apple аудиоустройств описаны в Ссылке Свойств Аудиоустройства.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Тип данных для аудиоустройства определяет объем идентификаторов.
Объявление
Swift
typealias AudioUnitScope = UInt32Objective C
typedef UInt32 AudioUnitScope;Обсуждение
Объем аудиоустройства является дискретным, nonnestable программируемым контекстом для аудиоустройства. Объемы для аудиоустройств описаны в
Audio Unit Scopesперечисление.Apple резервирует идентификаторы объема аудиоустройства от 0 до 1,024.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.0 и позже.
-
Корректируемый атрибут аудиоустройства, такой как объем, подача или частота среза фильтра.
Объявление
Swift
struct AudioUnitParameter { var mAudioUnit: AudioUnit var mParameterID: AudioUnitParameterID var mScope: AudioUnitScope var 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.
Доступность
Доступный в OS X v10.2 и позже.
-
Запланированное изменение в значении параметра аудиоустройства.
Объявление
Swift
struct AudioUnitParameterEvent { var scope: AudioUnitScope var element: AudioUnitElement var parameter: AudioUnitParameterID var eventType: AUParameterEventType }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функция.Доступность
Доступный в OS X v10.2 и позже.
-
Пара ключ/значение, объявляющая атрибут или поведение для аудиоустройства.
Объявление
Swift
struct AudioUnitProperty { var mAudioUnit: AudioUnit var mPropertyID: AudioUnitPropertyID var mScope: AudioUnitScope var mElement: AudioUnitElement }Objective C
struct AudioUnitProperty { AudioUnit mAudioUnit; AudioUnitPropertyID mPropertyID; AudioUnitScope mScope; AudioUnitElement mElement; }; typedef struct AudioUnitProperty AudioUnitProperty;Поля
mAudioUnitЭкземпляр аудиоустройства, которому применяется к параметр.
mPropertyIDИдентификатор свойства аудиоустройства.
mScopeОбъем аудиоустройства для свойства.
mElementЭлемент аудиоустройства для свойства.
Доступность
Доступный в OS X v10.3 и позже.
-
Определенные типы плагинов обработки аудиоданных, известных как аудиоустройства.
Объявление
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_OutputkAudioUnitType_OutputУстройство вывода обеспечивает ввод, вывод или оба ввода и вывода одновременно. Это может использоваться в качестве главы графика обработки аудиоустройства.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_MusicDevicekAudioUnitType_MusicDeviceМодуль инструментов может использоваться в качестве музыкального инструмента программного обеспечения, такого как сэмплер или синтезатор. Это реагирует на MIDI (Цифровой интерфейс музыкальных инструментов) сигналы управления и может создать примечания.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_MusicEffectkAudioUnitType_MusicEffectМодуль эффекта, который может реагировать на управляющие сообщения MIDI, обычно посредством отображения сообщений MIDI к параметрам алгоритма DSP аудиоустройства.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_FormatConverterkAudioUnitType_FormatConverterМодуль преобразователя форматов может преобразовать форматы аудио, такие как выполнение преобразования частоты дискретизации. Преобразователь форматов является также подходящим для задержанного рендеринга и для эффектов, таких как varispeed. Модуль преобразователя форматов может попросить так или такой маленький аудиовход, как это должно произвести данный вывод, все еще завершая его рендеринг в течение времени, представленного буфером вывода. Для подобных эффекту преобразователей форматов, таких как устройства изменения высоты тона, распространено обеспечить и в реальном времени и автономную версию. OS X, например, включает аудиоустройства Time-Pitch и Varispeed и в и в автономные версии в реальном времени.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_EffectkAudioUnitType_EffectМодуль эффекта неоднократно обрабатывает много выборок аудиовхода для создания того же числа выборок аудиовыхода. Обычно, модуль эффекта имеет единственный ввод и единственный вывод. Некоторые эффекты берут вводы боковой цепи также. Модули эффекта могут быть выполнены оффлайн, например, для обработки файла, не играя его, но, как ожидают, будут работать в в реальном времени.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_MixerkAudioUnitType_MixerМодуль микшера берет много каналов ввода и смешивает их для обеспечения одного или более каналов вывода. Например,
kAudioUnitSubType_StereoMixerаудиоустройство в OS X берет многократный моно или стереовходы, и произведите единственный вывод стерео.Доступный в OS X v10.2 и позже.
-
kAudioUnitType_PannerkAudioUnitType_PannerМодуль регулировки панорамы является специализированным модулем эффекта, распределяющим один или несколько каналов в единственном вводе к одному или более каналам в единственном выводе. Модули регулировки панорамы должны поддерживать ряд стандартных параметров аудиоустройства, указывающих координаты панорамирования.
Доступный в OS X v10.3 и позже.
-
kAudioUnitType_OfflineEffectkAudioUnitType_OfflineEffectОффлайновый модуль эффекта обеспечивает в некотором роде цифровую обработку сигналов, которая не может продолжиться в в реальном времени. Например, нормализация уровня требует исследования всего звука, начиная заканчиваться, прежде чем сможет быть вычислен коэффициент нормализации. Также, оффлайновые модули эффекта также имеют понятие этапа воспламенения, который может быть выполнен, прежде чем фактическая фаза рендеринга/обработки выполняется.
Доступный в OS X v10.3 и позже.
-
kAudioUnitType_GeneratorkAudioUnitType_GeneratorМодуль генератора обеспечивает аудиовыход, но не имеет никакого аудиовхода. Этот тип аудиоустройства является подходящим для генератора тональных сигналов. В отличие от модуля инструментов, модулю генератора не имели контроль.
Доступный в OS X v10.3 и позже.
-
-
Код производителя аудиоустройства Apple.
Объявление
Swift
var kAudioUnitManufacturer_Apple: Int { get }Objective C
enum { kAudioUnitManufacturer_Apple = 'appl' };Константы
-
Аудиоустройство преобразователя форматов аудиоданных выделяет подтипы для аудиоустройств, предоставленных Apple.
Объявление
Swift
var kAudioUnitSubType_AUConverter: Int { get } var kAudioUnitSubType_NewTimePitch: Int { get } var kAudioUnitSubType_TimePitch: Int { get } var kAudioUnitSubType_DeferredRenderer: Int { get } var kAudioUnitSubType_Splitter: Int { get } var kAudioUnitSubType_Merger: Int { get } var kAudioUnitSubType_Varispeed: 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_AUiPodTimeOther = 'ipto' };Константы
-
kAudioUnitSubType_AUConverterkAudioUnitSubType_AUConverterАудиоустройство, использующее аудио преобразователь, чтобы сделать линейные импульсно-кодовые модуляции, такие как изменения в частоте дискретизации, битовой глубине или чередовании.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_NewTimePitchkAudioUnitSubType_NewTimePitchАудиоустройство, которое может использоваться, чтобы иметь независимый контроль и над скоростью воспроизведения и над подачей. В OS X это обеспечивает универсальное представление, таким образом, это может использоваться и в UI и в программируемом контексте. Это также прибывает в автономную версию для обработки аудиофайлов.
Доступный в OS X v10.7 и позже.
-
kAudioUnitSubType_TimePitchkAudioUnitSubType_TimePitchАудиоустройство, которое может обеспечить независимое управление скорости воспроизведения и подачу. Этот подтип обеспечивает универсальное представление, делая его подходящим для UI и программируемого контекста. OS X обеспечивает и оффлайновые аудиоустройства в реальном времени этого подтипа.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_DeferredRendererkAudioUnitSubType_DeferredRendererАудиоустройство, получающее аудиовход от отдельного потока, чем поток, на котором вызывают его метод рендеринга. Можно использовать этот подтип для введения многократных потоков в график обработки аудиоустройства. Существует задержка, равная размеру буфера, представленному между аудиовходом и выводом.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_SplitterkAudioUnitSubType_SplitterАудиоустройство с одной входной шиной и двумя выходными шинами. Аудиоустройство копирует входной сигнал к каждой из его двух выходных шин.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_MergerkAudioUnitSubType_MergerАудиоустройство с двумя входными шинами и одной выходной шиной. Аудиоустройство объединяет эти два входных сигнала с единственным выводом.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_VarispeedkAudioUnitSubType_VarispeedАудиоустройство, которое может управлять скоростью воспроизведения. Поскольку скорость воспроизведения увеличивается, подача - также. Этот подтип обеспечивает универсальное представление, делая его подходящим для UI и программируемого контекста. OS X обеспечивает и оффлайновые аудиоустройства в реальном времени этого подтипа.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_AUiPodTimeOtherkAudioUnitSubType_AUiPodTimeOtherДоступный в OS X v10.9 и позже.
-
-
Эффект (цифровая обработка сигналов) аудиоустройство выделяет подтипы для аудиоустройств, предоставленных Apple.
Объявление
Swift
var kAudioUnitSubType_PeakLimiter: Int { get } var kAudioUnitSubType_DynamicsProcessor: 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_GraphicEQ: Int { get } var kAudioUnitSubType_MultiBandCompressor: Int { get } var kAudioUnitSubType_MatrixReverb: Int { get } var kAudioUnitSubType_SampleDelay: Int { get } var kAudioUnitSubType_Pitch: Int { get } var kAudioUnitSubType_AUFilter: Int { get } var kAudioUnitSubType_NetSend: Int { get } var kAudioUnitSubType_Distortion: Int { get } var kAudioUnitSubType_RogerBeep: Int { get } var kAudioUnitSubType_NBandEQ: Int { get }Objective C
enum { kAudioUnitSubType_PeakLimiter = 'lmtr', kAudioUnitSubType_DynamicsProcessor = 'dcmp', kAudioUnitSubType_LowPassFilter = 'lpas', kAudioUnitSubType_HighPassFilter = 'hpas', kAudioUnitSubType_BandPassFilter = 'bpas', kAudioUnitSubType_HighShelfFilter = 'hshf', kAudioUnitSubType_LowShelfFilter = 'lshf', kAudioUnitSubType_ParametricEQ = 'pmeq', kAudioUnitSubType_Delay = 'dely', kAudioUnitSubType_GraphicEQ = 'greq', kAudioUnitSubType_MultiBandCompressor = 'mcmp', kAudioUnitSubType_MatrixReverb = 'mrev', kAudioUnitSubType_SampleDelay = 'sdly', kAudioUnitSubType_Pitch = 'tmpt', kAudioUnitSubType_AUFilter = 'filt', kAudioUnitSubType_NetSend = 'nsnd', kAudioUnitSubType_Distortion = 'dist', kAudioUnitSubType_RogerBeep = 'rogr', kAudioUnitSubType_NBandEQ = 'nbeq' };Константы
-
kAudioUnitSubType_PeakLimiterkAudioUnitSubType_PeakLimiterАудиоустройство, осуществляющее верхний динамический предел на звуковом сигнале.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_DynamicsProcessorkAudioUnitSubType_DynamicsProcessorАудиоустройство, обеспечивающее динамическое сжатие или расширение.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_LowPassFilterkAudioUnitSubType_LowPassFilterАудиоустройство, передающее частоты ниже указанной частоты отсечки и блокирующее частоты выше той частоты отсечки.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_HighPassFilterkAudioUnitSubType_HighPassFilterАудиоустройство, передающее частоты выше указанной частоты отсечки и блокирующее частоты ниже той частоты отсечки.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_BandPassFilterkAudioUnitSubType_BandPassFilterАудиоустройство, передающее частоты между указанными верхними и более низкими частотами отсечки и блокирующее частоты вне той полосы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_HighShelfFilterkAudioUnitSubType_HighShelfFilterАудиоустройство, подходящее для реализации тройного управления в воспроизведении аудио или записи системы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_LowShelfFilterkAudioUnitSubType_LowShelfFilterАудиоустройство, подходящее для реализации тонконтроля НЧ в воспроизведении аудио или записи системы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_ParametricEQkAudioUnitSubType_ParametricEQАудиоустройство, обеспечивающее фильтр, центральная частота которого, уровень повышения/сокращения и Q могут быть скорректированы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_DelaykAudioUnitSubType_DelayАудиоустройство, представляющее задержку сигналу.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_GraphicEQkAudioUnitSubType_GraphicEQАудиоустройство, обеспечивающее 10-или графический эквалайзер с 31 полосой.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_MultiBandCompressorkAudioUnitSubType_MultiBandCompressorАудиоустройство, обеспечивающее четыре полосы динамического сжатия или расширения.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_MatrixReverbkAudioUnitSubType_MatrixReverbАудиоустройство, обеспечивающее эффект реверберации, который может использоваться для моделирования множества акустических пробелов.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_SampleDelaykAudioUnitSubType_SampleDelayАудиоустройство, обеспечивающее задержку конкретного количества выборок.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_PitchkAudioUnitSubType_PitchАудиоустройство для изменения подачи сигнала.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_AUFilterkAudioUnitSubType_AUFilterАудиоустройство, обеспечивающее комбинацию пяти фильтров: низкочастотный, три средних частоты, и высокочастотный.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_NetSendkAudioUnitSubType_NetSendАудиоустройство для использования в сочетании с a
kAudioUnitSubType_NetReceiveаудиоустройство для отправки аудио через сеть или от одного приложения до другого.Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_DistortionkAudioUnitSubType_DistortionАудиоустройство, обеспечивающее эффект искажения.
Доступный в OS X v10.5 и позже.
-
kAudioUnitSubType_RogerBeepkAudioUnitSubType_RogerBeepАудиоустройство, обнаруживающее разрывы между сегментами речи и устраняющее разрывы с коротким тоном, моделируя звук коммуникационного устройства портативной радиостанции.
Доступный в OS X v10.5 и позже.
-
kAudioUnitSubType_NBandEQkAudioUnitSubType_NBandEQМногополосный эквалайзер с specifiable фильтром вводит для каждой полосы.
Доступный в OS X v10.9 и позже.
-
-
Аудиоустройство микширования звука выделяет подтипы для аудиоустройств, предоставленных Apple.
Объявление
Swift
var kAudioUnitSubType_MultiChannelMixer: Int { get } var kAudioUnitSubType_StereoMixer: Int { get } var kAudioUnitSubType_3DMixer: Int { get } var kAudioUnitSubType_MatrixMixer: Int { get }Objective C
enum { kAudioUnitSubType_MultiChannelMixer = 'mcmx', kAudioUnitSubType_StereoMixer = 'smxr', kAudioUnitSubType_3DMixer = '3dmx', kAudioUnitSubType_MatrixMixer = 'mxmx', };Константы
-
kAudioUnitSubType_MultiChannelMixerkAudioUnitSubType_MultiChannelMixerАудиоустройство, которое может иметь любое число входных шин с любым числом каналов на каждой входной шине и одной выходной шине. В OS X выходная шина может иметь любое число каналов. В iPhone OS выходная шина всегда имеет два канала.
Доступный в OS X v10.5 и позже.
-
kAudioUnitSubType_StereoMixerkAudioUnitSubType_StereoMixerАудиоустройство, которое может иметь любое число входных шин, каждая из которых моно или стерео, и одна выходная шина стерео.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_3DMixerkAudioUnitSubType_3DMixerАудиоустройство, которое может иметь любое число входных шин и одной выходной шины. Каждая входная шина может быть моно, когда она может панорамироваться с помощью 3D координат и параметров. Стереовход соединяет шиной передачу непосредственно через в вывод. Вводы ambisonic с четырьмя каналами представляются к выходной конфигурации. Единственная выходная шина может быть сконфигурирована с 2, 4, 5, 6, 7 или 8 каналов.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_MatrixMixerkAudioUnitSubType_MatrixMixerАудиоустройство, которое может иметь любое число шин ввода и вывода с любым числом каналов на каждой шине. Вы конфигурируете соединение с помощью матрицы каналов с отдельным управлением уровнем на входе для каждого канала. Аудиоустройство также обеспечивает управление индивидуальным уровнем для каждого входного канала к комбинации канала вывода, а также регулятор уровня для каждого канала вывода. Наконец, аудиоустройство обеспечивает управление глобальным уровнем для матрицы в целом.
Доступный в OS X v10.3 и позже.
-
-
Аудиоустройства, служащие звуковыми источниками.
Объявление
Swift
var kAudioUnitSubType_ScheduledSoundPlayer: Int { get } var kAudioUnitSubType_AudioFilePlayer: Int { get }Objective C
enum { kAudioUnitSubType_ScheduledSoundPlayer = 'sspl', kAudioUnitSubType_AudioFilePlayer = 'afpl', };Константы
-
kAudioUnitSubType_ScheduledSoundPlayerkAudioUnitSubType_ScheduledSoundPlayerМодуль генератора, который может использоваться для планирования частей аудио, которое будет играться в требуемое время. Аудио планируется с помощью меток времени для работы рендеринга и может быть запланировано от любого потока.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_AudioFilePlayerkAudioUnitSubType_AudioFilePlayerМодуль генератора, использующийся для игры файла. В OS X это представляет пользовательский UI, так может использоваться в контексте UI, а также в программируемом контексте.
Доступный в OS X v10.4 и позже.
-
-
Аудиоустройства, которые могут играться как музыкальные инструменты через управление MIDI.
Объявление
Objective C
enum { kAudioUnitSubType_DLSSynth = 'dls ', kAudioUnitSubType_Sampler = 'samp' };Константы
-
kAudioUnitSubType_DLSSynthkAudioUnitSubType_DLSSynthМультитембральный модуль инструментов, который может использовать демонстрационные банки или в DLS или в форматах SoundFont. Это полностью поддерживает GM-MIDI и основные расширения GS-MIDI
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_SamplerkAudioUnitSubType_SamplerМонотембральный модуль инструментов, функционирующий синтезатор сэмплера и поддерживающий полное интерактивное редактирование его состояния.
Доступный в OS X v10.7 и позже.
-
-
Аудиоустройство ввода/вывода выделяет подтипы для аудиоустройств, предоставленных Apple.
Объявление
Swift
var kAudioUnitSubType_GenericOutput: Int { get } var kAudioUnitSubType_HALOutput: Int { get } var kAudioUnitSubType_DefaultOutput: Int { get } var kAudioUnitSubType_SystemOutput: Int { get } var kAudioUnitSubType_VoiceProcessingIO: Int { get }Objective C
enum { kAudioUnitSubType_GenericOutput = 'genr', kAudioUnitSubType_HALOutput = 'ahal', kAudioUnitSubType_DefaultOutput = 'def ', kAudioUnitSubType_SystemOutput = 'sys ', kAudioUnitSubType_VoiceProcessingIO = 'vpio' };Константы
-
kAudioUnitSubType_GenericOutputkAudioUnitSubType_GenericOutputАудиоустройство, отвечающее для запуска вызовов и предоставляющее базовые услуги для преобразования в и от линейных форматов PCM.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_HALOutputkAudioUnitSubType_HALOutputМогущее аудиоустройство обеспечивает соединение ввода/вывода с указанное аудиоустройство. Шина
0обеспечивает вывод для аудиоустройства и шины1принимает ввод от аудиоустройства.Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_DefaultOutputkAudioUnitSubType_DefaultOutputСпециализированное
kAudioUnitSubType_HALOutputаудиоустройство, соединяющееся с выбранным устройством пользователя по умолчанию в Звуковых Предпочтениях.Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_SystemOutputkAudioUnitSubType_SystemOutputСпециализированное
kAudioUnitSubType_HALOutputаудиоустройство, соединяющееся с выбранным устройством пользователя для звуковых эффектов, предупреждений и других звуков пользовательского интерфейса.Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_VoiceProcessingIOkAudioUnitSubType_VoiceProcessingIOАудиоустройство, взаимодействующее через интерфейс к аудиовходам и выводам устройств iPhone OS и обеспечивающее речевые функции обработки. Шина
0обеспечивает вывод для аппаратных средств и шины1принимает ввод от аппаратных средств. ПосмотритеVoice-Processing I/O Audio Unit Propertiesперечисление для идентификаторов для свойств этого аудиоустройства.Доступный в OS X v10.7 и позже.
-
-
Типы событий параметра аудиоустройства.
Объявление
Swift
typealias AUParameterEventType = UInt32Objective C
enum { kParameterEvent_Immediate = 1, kParameterEvent_Ramped = 2 }; typedef UInt32 AUParameterEventType;Константы
-
kParameterEvent_ImmediatekParameterEvent_ImmediateНепосредственное изменение от предыдущего значения параметра до нового значения.
Доступный в OS X v10.2 и позже.
-
kParameterEvent_RampedkParameterEvent_RampedПостепенное изменение от предыдущего значения параметра до нового значения, примененного линейно за установленный период времени
Доступный в OS X v10.2 и позже.
Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.2 и позже.
-
-
Флаги для конфигурирования рендеринга аудиоустройства.
Объявление
Swift
typealias AudioUnitRenderActionFlags = UInt32Objective 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_PreRenderkAudioUnitRenderAction_PreRenderОбращенный уведомление рендеринга Proc - который вызывают или прежде или после работы рендеринга аудиоустройства. Если этот флаг установлен, proc вызывают, прежде чем работа рендеринга выполняется.
Доступный в OS X v10.0 и позже.
-
kAudioUnitRenderAction_PostRenderkAudioUnitRenderAction_PostRenderОбращенный уведомление рендеринга Proc - который вызывают или прежде или после работы рендеринга аудиоустройства. Если этот флаг установлен, proc вызывают после того, как работа рендеринга завершается.
Доступный в OS X v10.0 и позже.
-
kAudioUnitRenderAction_OutputIsSilencekAudioUnitRenderAction_OutputIsSilenceЭтот флаг может быть установлен во входном обратном вызове рендеринга (или в самой работе рендеринга аудиоустройства) и используется, чтобы указать, что буфер рендеринга содержит только тишину. Это может тогда использоваться вызывающей стороной в качестве подсказки к тому, должен ли буфер быть обработан или нет.
Доступный в OS X v10.2 и позже.
-
kAudioOfflineUnitRenderAction_PreflightkAudioOfflineUnitRenderAction_PreflightЭто используется с оффлайновыми аудиоустройствами (типа
'auol'). Это используется, когда оффлайновый модуль является preflighted, выполняющимся до фактических оффлайновых действий рендеринга, выполняются. Это используется для тех случаев, где для оффлайнового процесса нужен он (например, с оффлайновым модулем, нормализующим аудиофайл, это должно видеть все аудиоданные сначала, прежде чем это сможет выполнить свою нормализацию).Доступный в OS X v10.3 и позже.
-
kAudioOfflineUnitRenderAction_RenderkAudioOfflineUnitRenderAction_RenderКак только оффлайновый модуль был успешно preflighted, он тогда помещается в его режим рендеринга. Таким образом, этот флаг установлен указать к аудиоустройству, что теперь в том состоянии и это должно выполнить свою обработку на входных данных.
Доступный в OS X v10.3 и позже.
-
kAudioOfflineUnitRenderAction_CompletekAudioOfflineUnitRenderAction_CompleteКогда оффлайновый модуль завершил или свой предварительный рейс или выполнил работу рендеринга, этот флаг установлен.
Доступный в OS X v10.3 и позже.
-
kAudioUnitRenderAction_PostRenderErrorkAudioUnitRenderAction_PostRenderErrorЕсли этот флаг установлен на вызове пострендеринга, ошибка была возвращена работой рендеринга аудиоустройства. В этом случае ошибка может быть получена через lastRenderError свойство и аудиоданные в
ioDataврученный уведомлению пострендеринга будет недопустимо.Доступный в OS X v10.5 и позже.
-
kAudioUnitRenderAction_DoNotCheckRenderArgskAudioUnitRenderAction_DoNotCheckRenderArgsЕсли этот флаг установлен, то проверки, сделанные на параметрах, предоставленных для рендеринга, не выполняются. Это может быть полезно для использования для сохранения времени вычисления в ситуациях, где Вы уверены, что обеспечиваете корректные параметры и структуры к различным вызовам рендеринга.
Доступный в OS X v10.7 и позже.
Обсуждение
Эти флаги могут быть установлены в обратном вызове от аудиоустройства во время работы рендеринга аудиоустройства от любого
RenderNotifyProc или рендеринг вводят обратный вызов.Оператор импорта
Objective C
@import AudioUnit;Swift
import AudioUnitДоступность
Доступный в OS X v10.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 };Константы
-
kAudioUnitRangekAudioUnitRangeЗапуск числового диапазона для общих селекторов функции аудиоустройства.
Доступный в OS X v10.0 и позже.
-
kAudioUnitInitializeSelectkAudioUnitInitializeSelectИспользуемый системой для инициализации аудиоустройства, когда Вы вызываете
AudioUnitInitializeфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitUninitializeSelectkAudioUnitUninitializeSelectИспользуемый системой для деинициализации аудиоустройства, когда Вы вызываете
AudioUnitUninitializeфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitGetPropertyInfoSelectkAudioUnitGetPropertyInfoSelectИспользуемый системой для получения информации свойства от аудиоустройства, когда Вы вызываете
AudioUnitGetPropertyInfoфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitGetPropertySelectkAudioUnitGetPropertySelectИспользуемый системой для получения значения свойства от аудиоустройства, когда Вы вызываете
AudioUnitGetPropertyфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitSetPropertySelectkAudioUnitSetPropertySelectИспользуемый системой для установки значения свойства аудиоустройства, когда Вы вызываете
AudioUnitSetPropertyфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitAddPropertyListenerSelectkAudioUnitAddPropertyListenerSelectИспользуемый системой для регистрации функции обратного вызова слушателя свойства для аудиоустройства, когда Вы вызываете
AudioUnitAddPropertyListenerфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitRemovePropertyListenerSelectkAudioUnitRemovePropertyListenerSelectИспользуемый системой, чтобы не зарегистрировать функцию обратного вызова слушателя свойства от аудиоустройства, когда Вы вызываете
AudioUnitRemovePropertyListenerфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitRemovePropertyListenerWithUserDataSelectkAudioUnitRemovePropertyListenerWithUserDataSelectИспользуемый системой, чтобы не зарегистрировать функцию обратного вызова слушателя свойства, связанную с указанными пользовательскими данными, от аудиоустройства, когда Вы вызываете
AudioUnitRemovePropertyListenerWithUserDataфункция.Доступный в OS X v10.5 и позже.
-
kAudioUnitAddRenderNotifySelectkAudioUnitAddRenderNotifySelectИспользуемый системой для регистрации функции обратного вызова уведомления рендеринга для аудиоустройства, когда Вы вызываете
AudioUnitAddRenderNotifyфункция.Доступный в OS X v10.2 и позже.
-
kAudioUnitRemoveRenderNotifySelectkAudioUnitRemoveRenderNotifySelectИспользуемый системой, чтобы не зарегистрировать функцию обратного вызова уведомления рендеринга от аудиоустройства, когда Вы вызываете
AudioUnitRemoveRenderNotifyфункция.Доступный в OS X v10.2 и позже.
-
kAudioUnitGetParameterSelectkAudioUnitGetParameterSelectИспользуемый системой для получения текущей стоимости параметра аудиоустройства, когда Вы вызываете
AudioUnitGetParameterфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitSetParameterSelectkAudioUnitSetParameterSelectИспользуемый системой для установки значения параметра аудиоустройства, когда Вы вызываете
AudioUnitSetParameterфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitScheduleParametersSelectkAudioUnitScheduleParametersSelectИспользуемый системой для планирования изменения значения параметра аудиоустройства, когда Вы вызываете
AudioUnitScheduleParametersфункция.Доступный в OS X v10.2 и позже.
-
kAudioUnitRenderSelectkAudioUnitRenderSelectИспользуемый системой для вызова рендеринга аудио аудиоустройством, когда Вы вызываете
AudioUnitRenderфункция.Доступный в OS X v10.2 и позже.
-
kAudioUnitResetSelectkAudioUnitResetSelectИспользуемый системой для сброса аудиоустройства, когда Вы вызываете
AudioUnitResetфункция.Доступный в OS X v10.0 и позже.
-
kAudioUnitComplexRenderSelectkAudioUnitComplexRenderSelectДоступный в OS X v10.7 и позже.
-
kAudioUnitProcessSelectkAudioUnitProcessSelectДоступный в OS X v10.7 и позже.
-
kAudioUnitProcessMultipleSelectkAudioUnitProcessMultipleSelectДоступный в OS X v10.7 и позже.
Обсуждение
Для компонента аудиоустройства функциональные селекторы, применяющиеся к аудиоустройствам I/O, видят Ссылку Output Audio Unit Services.
-
Эта таблица приводит коды результата, определенные для Audio Unit Component Services.
-
Значение
- 10879
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10878
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10877
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10876
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10875
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10874
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10873
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10872
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10871
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10870
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10869
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10868
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10867
Описание
Доступный в OS X v10.0 и позже.
-
Значение
- 10866
Описание
Доступный в OS X v10.2 и позже.
-
Значение
- 10865
Описание
Доступный в OS X v10.2 и позже.
-
Значение
- 10863
Описание
Доступный в OS X v10.2 и позже.
-
Значение
- 10851
Описание
Доступный в OS X v10.2 и позже.
-
Значение
- 10850
Описание
Доступный в OS X v10.3 и позже.
-
Значение
- 10849
Описание
Доступный в OS X v10.3 и позже.
-
Значение
- 10848
Описание
Доступный в OS X v10.3 и позже.
-
Значение
- 10847
Описание
Доступный в OS X v10.3 и позже.
