Компонентная ссылка служб аудиоустройства
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 );
Параметры
ci
inID
inProc
Возвращаемое значение
Код результата.
Оператор импорта
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
На успешном выводе, булево значение, указывающее, может ли свойство быть записано в (
YES
true
) или не (NO
false
). Может быть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
Число демонстрационных кадров, которые будут представлены в аудиоданных в предоставленном параметре йодата.
ioData
AudioBufferList, который будет использоваться для содержания представленных или предоставленных аудиоданных.
Возвращаемое значение
Код результата.
Обсуждение
Можно использовать эту функцию обратного вызова с обоими уведомление рендеринга аудиоустройства 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
Объем свойства, значение которого изменилось.
inElement
ID элемента на объеме свойства, значение которого изменилось.
Возвращаемое значение
Код результата.
Обсуждение
Вы регистрируете Ваш
AudioUnitPropertyListenerProc
функция обратного вызова с помощьюAudioUnitAddPropertyListener
функция.Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.0 и позже.
-
Тип данных для сменного компонента, обеспечивающего генерация аудиоданных или обработка аудиоданных.
Объявление
Swift
typealias AudioUnit = AudioComponentInstance
Objective C
typedef AudioComponentInstance AudioUnit;
Обсуждение
Различные типы аудиоустройств описаны в перечислении Типов Аудиоустройства. Подтипы аудиоустройств, предоставленных Apple, описаны в Подтипах Аудиоустройства Преобразователя, Подтипах Аудиоустройства Эффекта, Подтипах Аудиоустройства Микшера и Подтипах Аудиоустройства ввода/вывода.
Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.0 и позже.
-
Тип данных для идентификатора элемента аудиоустройства.
Объявление
Swift
typealias AudioUnitElement = UInt32
Objective C
typedef UInt32 AudioUnitElement;
Обсуждение
Элемент аудиоустройства является дискретным программируемым контекстом, вкладывающимся в объеме аудиоустройства (см.
AudioUnitScope
). В контексте объемов ввода и вывода элементы служат программируемыми аналогами шин физического сигнала в аппаратных аудиоустройствах. Из-за этой аналогии термин «шина» является общим синонимом для «элемента».Элементы являются индексированным нулем. Глобальная область видимости всегда имеет точно один элемент — элемент 0.
Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.0 и позже.
-
Тип данных для идентификатора параметра аудиоустройства.
Объявление
Swift
typealias AudioUnitParameterID = UInt32
Objective C
typedef UInt32 AudioUnitParameterID;
Обсуждение
Параметр аудиоустройства является корректируемой установкой со значением с плавающей точкой. Параметры для предоставленных Apple аудиоустройств описаны в Ссылке Параметров Аудиоустройства. См. также
AudioUnitParameterValue
,AudioUnitParameter
.Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.0 и позже.
-
Тип данных для значения параметра аудиоустройства.
Объявление
Swift
typealias AudioUnitParameterValue = Float32
Objective C
typedef Float32 AudioUnitParameterValue;
Обсуждение
Параметр аудиоустройства является корректируемой установкой, такой как усиление. Параметры для предоставленных Apple аудиоустройств описаны в Ссылке Параметров Аудиоустройства.
Можно изменить значение параметра непосредственно путем вызова
AudioUnitSetParameter
функция или расписание изменение путем вызоваAudioUnitScheduleParameters
. См. такжеAudioUnitParameterID
,AudioUnitParameter
.Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.5 и позже.
-
Тип данных для ключей свойства аудиоустройства.
Объявление
Swift
typealias AudioUnitPropertyID = UInt32
Objective C
typedef UInt32 AudioUnitPropertyID;
Обсуждение
Свойство аудиоустройства является парой ключ/значение для параметра конфигурации, такого как формат потока аудиоданных. Свойства для предоставленных Apple аудиоустройств описаны в Ссылке Свойств Аудиоустройства.
Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.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
Доступность
Доступный в 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_Output
kAudioUnitType_Output
Устройство вывода обеспечивает ввод, вывод или оба ввода и вывода одновременно. Это может использоваться в качестве главы графика обработки аудиоустройства.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_MusicDevice
kAudioUnitType_MusicDevice
Модуль инструментов может использоваться в качестве музыкального инструмента программного обеспечения, такого как сэмплер или синтезатор. Это реагирует на MIDI (Цифровой интерфейс музыкальных инструментов) сигналы управления и может создать примечания.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_MusicEffect
kAudioUnitType_MusicEffect
Модуль эффекта, который может реагировать на управляющие сообщения MIDI, обычно посредством отображения сообщений MIDI к параметрам алгоритма DSP аудиоустройства.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_FormatConverter
kAudioUnitType_FormatConverter
Модуль преобразователя форматов может преобразовать форматы аудио, такие как выполнение преобразования частоты дискретизации. Преобразователь форматов является также подходящим для задержанного рендеринга и для эффектов, таких как varispeed. Модуль преобразователя форматов может попросить так или такой маленький аудиовход, как это должно произвести данный вывод, все еще завершая его рендеринг в течение времени, представленного буфером вывода. Для подобных эффекту преобразователей форматов, таких как устройства изменения высоты тона, распространено обеспечить и в реальном времени и автономную версию. OS X, например, включает аудиоустройства Time-Pitch и Varispeed и в и в автономные версии в реальном времени.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_Effect
kAudioUnitType_Effect
Модуль эффекта неоднократно обрабатывает много выборок аудиовхода для создания того же числа выборок аудиовыхода. Обычно, модуль эффекта имеет единственный ввод и единственный вывод. Некоторые эффекты берут вводы боковой цепи также. Модули эффекта могут быть выполнены оффлайн, например, для обработки файла, не играя его, но, как ожидают, будут работать в в реальном времени.
Доступный в OS X v10.2 и позже.
-
kAudioUnitType_Mixer
kAudioUnitType_Mixer
Модуль микшера берет много каналов ввода и смешивает их для обеспечения одного или более каналов вывода. Например,
kAudioUnitSubType_StereoMixer
аудиоустройство в OS X берет многократный моно или стереовходы, и произведите единственный вывод стерео.Доступный в OS X v10.2 и позже.
-
kAudioUnitType_Panner
kAudioUnitType_Panner
Модуль регулировки панорамы является специализированным модулем эффекта, распределяющим один или несколько каналов в единственном вводе к одному или более каналам в единственном выводе. Модули регулировки панорамы должны поддерживать ряд стандартных параметров аудиоустройства, указывающих координаты панорамирования.
Доступный в OS X v10.3 и позже.
-
kAudioUnitType_OfflineEffect
kAudioUnitType_OfflineEffect
Оффлайновый модуль эффекта обеспечивает в некотором роде цифровую обработку сигналов, которая не может продолжиться в в реальном времени. Например, нормализация уровня требует исследования всего звука, начиная заканчиваться, прежде чем сможет быть вычислен коэффициент нормализации. Также, оффлайновые модули эффекта также имеют понятие этапа воспламенения, который может быть выполнен, прежде чем фактическая фаза рендеринга/обработки выполняется.
Доступный в OS X v10.3 и позже.
-
kAudioUnitType_Generator
kAudioUnitType_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_AUConverter
kAudioUnitSubType_AUConverter
Аудиоустройство, использующее аудио преобразователь, чтобы сделать линейные импульсно-кодовые модуляции, такие как изменения в частоте дискретизации, битовой глубине или чередовании.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_NewTimePitch
kAudioUnitSubType_NewTimePitch
Аудиоустройство, которое может использоваться, чтобы иметь независимый контроль и над скоростью воспроизведения и над подачей. В OS X это обеспечивает универсальное представление, таким образом, это может использоваться и в UI и в программируемом контексте. Это также прибывает в автономную версию для обработки аудиофайлов.
Доступный в OS X v10.7 и позже.
-
kAudioUnitSubType_TimePitch
kAudioUnitSubType_TimePitch
Аудиоустройство, которое может обеспечить независимое управление скорости воспроизведения и подачу. Этот подтип обеспечивает универсальное представление, делая его подходящим для UI и программируемого контекста. OS X обеспечивает и оффлайновые аудиоустройства в реальном времени этого подтипа.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_DeferredRenderer
kAudioUnitSubType_DeferredRenderer
Аудиоустройство, получающее аудиовход от отдельного потока, чем поток, на котором вызывают его метод рендеринга. Можно использовать этот подтип для введения многократных потоков в график обработки аудиоустройства. Существует задержка, равная размеру буфера, представленному между аудиовходом и выводом.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_Splitter
kAudioUnitSubType_Splitter
Аудиоустройство с одной входной шиной и двумя выходными шинами. Аудиоустройство копирует входной сигнал к каждой из его двух выходных шин.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_Merger
kAudioUnitSubType_Merger
Аудиоустройство с двумя входными шинами и одной выходной шиной. Аудиоустройство объединяет эти два входных сигнала с единственным выводом.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_Varispeed
kAudioUnitSubType_Varispeed
Аудиоустройство, которое может управлять скоростью воспроизведения. Поскольку скорость воспроизведения увеличивается, подача - также. Этот подтип обеспечивает универсальное представление, делая его подходящим для UI и программируемого контекста. OS X обеспечивает и оффлайновые аудиоустройства в реальном времени этого подтипа.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_AUiPodTimeOther
kAudioUnitSubType_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_PeakLimiter
kAudioUnitSubType_PeakLimiter
Аудиоустройство, осуществляющее верхний динамический предел на звуковом сигнале.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_DynamicsProcessor
kAudioUnitSubType_DynamicsProcessor
Аудиоустройство, обеспечивающее динамическое сжатие или расширение.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_LowPassFilter
kAudioUnitSubType_LowPassFilter
Аудиоустройство, передающее частоты ниже указанной частоты отсечки и блокирующее частоты выше той частоты отсечки.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_HighPassFilter
kAudioUnitSubType_HighPassFilter
Аудиоустройство, передающее частоты выше указанной частоты отсечки и блокирующее частоты ниже той частоты отсечки.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_BandPassFilter
kAudioUnitSubType_BandPassFilter
Аудиоустройство, передающее частоты между указанными верхними и более низкими частотами отсечки и блокирующее частоты вне той полосы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_HighShelfFilter
kAudioUnitSubType_HighShelfFilter
Аудиоустройство, подходящее для реализации тройного управления в воспроизведении аудио или записи системы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_LowShelfFilter
kAudioUnitSubType_LowShelfFilter
Аудиоустройство, подходящее для реализации тонконтроля НЧ в воспроизведении аудио или записи системы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_ParametricEQ
kAudioUnitSubType_ParametricEQ
Аудиоустройство, обеспечивающее фильтр, центральная частота которого, уровень повышения/сокращения и Q могут быть скорректированы.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_Delay
kAudioUnitSubType_Delay
Аудиоустройство, представляющее задержку сигналу.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_GraphicEQ
kAudioUnitSubType_GraphicEQ
Аудиоустройство, обеспечивающее 10-или графический эквалайзер с 31 полосой.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_MultiBandCompressor
kAudioUnitSubType_MultiBandCompressor
Аудиоустройство, обеспечивающее четыре полосы динамического сжатия или расширения.
Доступный в OS X v10.3 и позже.
-
kAudioUnitSubType_MatrixReverb
kAudioUnitSubType_MatrixReverb
Аудиоустройство, обеспечивающее эффект реверберации, который может использоваться для моделирования множества акустических пробелов.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_SampleDelay
kAudioUnitSubType_SampleDelay
Аудиоустройство, обеспечивающее задержку конкретного количества выборок.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_Pitch
kAudioUnitSubType_Pitch
Аудиоустройство для изменения подачи сигнала.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_AUFilter
kAudioUnitSubType_AUFilter
Аудиоустройство, обеспечивающее комбинацию пяти фильтров: низкочастотный, три средних частоты, и высокочастотный.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_NetSend
kAudioUnitSubType_NetSend
Аудиоустройство для использования в сочетании с a
kAudioUnitSubType_NetReceive
аудиоустройство для отправки аудио через сеть или от одного приложения до другого.Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_Distortion
kAudioUnitSubType_Distortion
Аудиоустройство, обеспечивающее эффект искажения.
Доступный в OS X v10.5 и позже.
-
kAudioUnitSubType_RogerBeep
kAudioUnitSubType_RogerBeep
Аудиоустройство, обнаруживающее разрывы между сегментами речи и устраняющее разрывы с коротким тоном, моделируя звук коммуникационного устройства портативной радиостанции.
Доступный в OS X v10.5 и позже.
-
kAudioUnitSubType_NBandEQ
kAudioUnitSubType_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_MultiChannelMixer
kAudioUnitSubType_MultiChannelMixer
Аудиоустройство, которое может иметь любое число входных шин с любым числом каналов на каждой входной шине и одной выходной шине. В OS X выходная шина может иметь любое число каналов. В iPhone OS выходная шина всегда имеет два канала.
Доступный в OS X v10.5 и позже.
-
kAudioUnitSubType_StereoMixer
kAudioUnitSubType_StereoMixer
Аудиоустройство, которое может иметь любое число входных шин, каждая из которых моно или стерео, и одна выходная шина стерео.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_3DMixer
kAudioUnitSubType_3DMixer
Аудиоустройство, которое может иметь любое число входных шин и одной выходной шины. Каждая входная шина может быть моно, когда она может панорамироваться с помощью 3D координат и параметров. Стереовход соединяет шиной передачу непосредственно через в вывод. Вводы ambisonic с четырьмя каналами представляются к выходной конфигурации. Единственная выходная шина может быть сконфигурирована с 2, 4, 5, 6, 7 или 8 каналов.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_MatrixMixer
kAudioUnitSubType_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_ScheduledSoundPlayer
kAudioUnitSubType_ScheduledSoundPlayer
Модуль генератора, который может использоваться для планирования частей аудио, которое будет играться в требуемое время. Аудио планируется с помощью меток времени для работы рендеринга и может быть запланировано от любого потока.
Доступный в OS X v10.4 и позже.
-
kAudioUnitSubType_AudioFilePlayer
kAudioUnitSubType_AudioFilePlayer
Модуль генератора, использующийся для игры файла. В OS X это представляет пользовательский UI, так может использоваться в контексте UI, а также в программируемом контексте.
Доступный в OS X v10.4 и позже.
-
-
Аудиоустройства, которые могут играться как музыкальные инструменты через управление MIDI.
Объявление
Objective C
enum { kAudioUnitSubType_DLSSynth = 'dls ', kAudioUnitSubType_Sampler = 'samp' };
Константы
-
kAudioUnitSubType_DLSSynth
kAudioUnitSubType_DLSSynth
Мультитембральный модуль инструментов, который может использовать демонстрационные банки или в DLS или в форматах SoundFont. Это полностью поддерживает GM-MIDI и основные расширения GS-MIDI
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_Sampler
kAudioUnitSubType_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_GenericOutput
kAudioUnitSubType_GenericOutput
Аудиоустройство, отвечающее для запуска вызовов и предоставляющее базовые услуги для преобразования в и от линейных форматов PCM.
Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_HALOutput
kAudioUnitSubType_HALOutput
Могущее аудиоустройство обеспечивает соединение ввода/вывода с указанное аудиоустройство. Шина
0
обеспечивает вывод для аудиоустройства и шины1
принимает ввод от аудиоустройства.Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_DefaultOutput
kAudioUnitSubType_DefaultOutput
Специализированное
kAudioUnitSubType_HALOutput
аудиоустройство, соединяющееся с выбранным устройством пользователя по умолчанию в Звуковых Предпочтениях.Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_SystemOutput
kAudioUnitSubType_SystemOutput
Специализированное
kAudioUnitSubType_HALOutput
аудиоустройство, соединяющееся с выбранным устройством пользователя для звуковых эффектов, предупреждений и других звуков пользовательского интерфейса.Доступный в OS X v10.2 и позже.
-
kAudioUnitSubType_VoiceProcessingIO
kAudioUnitSubType_VoiceProcessingIO
Аудиоустройство, взаимодействующее через интерфейс к аудиовходам и выводам устройств iPhone OS и обеспечивающее речевые функции обработки. Шина
0
обеспечивает вывод для аппаратных средств и шины1
принимает ввод от аппаратных средств. ПосмотритеVoice-Processing I/O Audio Unit Properties
перечисление для идентификаторов для свойств этого аудиоустройства.Доступный в OS X v10.7 и позже.
-
-
Типы событий параметра аудиоустройства.
Объявление
Swift
typealias AUParameterEventType = UInt32
Objective C
enum { kParameterEvent_Immediate = 1, kParameterEvent_Ramped = 2 }; typedef UInt32 AUParameterEventType;
Константы
-
kParameterEvent_Immediate
kParameterEvent_Immediate
Непосредственное изменение от предыдущего значения параметра до нового значения.
Доступный в OS X v10.2 и позже.
-
kParameterEvent_Ramped
kParameterEvent_Ramped
Постепенное изменение от предыдущего значения параметра до нового значения, примененного линейно за установленный период времени
Доступный в OS X v10.2 и позже.
Оператор импорта
Objective C
@import AudioUnit;
Swift
import AudioUnit
Доступность
Доступный в OS X v10.2 и позже.
-
-
Флаги для конфигурирования рендеринга аудиоустройства.
Объявление
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
kAudioUnitRenderAction_PreRender
Обращенный уведомление рендеринга Proc - который вызывают или прежде или после работы рендеринга аудиоустройства. Если этот флаг установлен, proc вызывают, прежде чем работа рендеринга выполняется.
Доступный в OS X v10.0 и позже.
-
kAudioUnitRenderAction_PostRender
kAudioUnitRenderAction_PostRender
Обращенный уведомление рендеринга Proc - который вызывают или прежде или после работы рендеринга аудиоустройства. Если этот флаг установлен, proc вызывают после того, как работа рендеринга завершается.
Доступный в OS X v10.0 и позже.
-
kAudioUnitRenderAction_OutputIsSilence
kAudioUnitRenderAction_OutputIsSilence
Этот флаг может быть установлен во входном обратном вызове рендеринга (или в самой работе рендеринга аудиоустройства) и используется, чтобы указать, что буфер рендеринга содержит только тишину. Это может тогда использоваться вызывающей стороной в качестве подсказки к тому, должен ли буфер быть обработан или нет.
Доступный в OS X v10.2 и позже.
-
kAudioOfflineUnitRenderAction_Preflight
kAudioOfflineUnitRenderAction_Preflight
Это используется с оффлайновыми аудиоустройствами (типа
'auol'
). Это используется, когда оффлайновый модуль является preflighted, выполняющимся до фактических оффлайновых действий рендеринга, выполняются. Это используется для тех случаев, где для оффлайнового процесса нужен он (например, с оффлайновым модулем, нормализующим аудиофайл, это должно видеть все аудиоданные сначала, прежде чем это сможет выполнить свою нормализацию).Доступный в OS X v10.3 и позже.
-
kAudioOfflineUnitRenderAction_Render
kAudioOfflineUnitRenderAction_Render
Как только оффлайновый модуль был успешно preflighted, он тогда помещается в его режим рендеринга. Таким образом, этот флаг установлен указать к аудиоустройству, что теперь в том состоянии и это должно выполнить свою обработку на входных данных.
Доступный в OS X v10.3 и позже.
-
kAudioOfflineUnitRenderAction_Complete
kAudioOfflineUnitRenderAction_Complete
Когда оффлайновый модуль завершил или свой предварительный рейс или выполнил работу рендеринга, этот флаг установлен.
Доступный в OS X v10.3 и позже.
-
kAudioUnitRenderAction_PostRenderError
kAudioUnitRenderAction_PostRenderError
Если этот флаг установлен на вызове пострендеринга, ошибка была возвращена работой рендеринга аудиоустройства. В этом случае ошибка может быть получена через lastRenderError свойство и аудиоданные в
ioData
врученный уведомлению пострендеринга будет недопустимо.Доступный в OS X v10.5 и позже.
-
kAudioUnitRenderAction_DoNotCheckRenderArgs
kAudioUnitRenderAction_DoNotCheckRenderArgs
Если этот флаг установлен, то проверки, сделанные на параметрах, предоставленных для рендеринга, не выполняются. Это может быть полезно для использования для сохранения времени вычисления в ситуациях, где Вы уверены, что обеспечиваете корректные параметры и структуры к различным вызовам рендеринга.
Доступный в OS X v10.7 и позже.
Обсуждение
Эти флаги могут быть установлены в обратном вызове от аудиоустройства во время работы рендеринга аудиоустройства от любого
RenderNotify
Proc или рендеринг вводят обратный вызов.Оператор импорта
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 };
Константы
-
kAudioUnitRange
kAudioUnitRange
Запуск числового диапазона для общих селекторов функции аудиоустройства.
Доступный в OS X v10.0 и позже.
-
kAudioUnitInitializeSelect
kAudioUnitInitializeSelect
Используемый системой для инициализации аудиоустройства, когда Вы вызываете
AudioUnitInitialize
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitUninitializeSelect
kAudioUnitUninitializeSelect
Используемый системой для деинициализации аудиоустройства, когда Вы вызываете
AudioUnitUninitialize
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitGetPropertyInfoSelect
kAudioUnitGetPropertyInfoSelect
Используемый системой для получения информации свойства от аудиоустройства, когда Вы вызываете
AudioUnitGetPropertyInfo
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitGetPropertySelect
kAudioUnitGetPropertySelect
Используемый системой для получения значения свойства от аудиоустройства, когда Вы вызываете
AudioUnitGetProperty
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitSetPropertySelect
kAudioUnitSetPropertySelect
Используемый системой для установки значения свойства аудиоустройства, когда Вы вызываете
AudioUnitSetProperty
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitAddPropertyListenerSelect
kAudioUnitAddPropertyListenerSelect
Используемый системой для регистрации функции обратного вызова слушателя свойства для аудиоустройства, когда Вы вызываете
AudioUnitAddPropertyListener
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitRemovePropertyListenerSelect
kAudioUnitRemovePropertyListenerSelect
Используемый системой, чтобы не зарегистрировать функцию обратного вызова слушателя свойства от аудиоустройства, когда Вы вызываете
AudioUnitRemovePropertyListener
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitRemovePropertyListenerWithUserDataSelect
kAudioUnitRemovePropertyListenerWithUserDataSelect
Используемый системой, чтобы не зарегистрировать функцию обратного вызова слушателя свойства, связанную с указанными пользовательскими данными, от аудиоустройства, когда Вы вызываете
AudioUnitRemovePropertyListenerWithUserData
функция.Доступный в OS X v10.5 и позже.
-
kAudioUnitAddRenderNotifySelect
kAudioUnitAddRenderNotifySelect
Используемый системой для регистрации функции обратного вызова уведомления рендеринга для аудиоустройства, когда Вы вызываете
AudioUnitAddRenderNotify
функция.Доступный в OS X v10.2 и позже.
-
kAudioUnitRemoveRenderNotifySelect
kAudioUnitRemoveRenderNotifySelect
Используемый системой, чтобы не зарегистрировать функцию обратного вызова уведомления рендеринга от аудиоустройства, когда Вы вызываете
AudioUnitRemoveRenderNotify
функция.Доступный в OS X v10.2 и позже.
-
kAudioUnitGetParameterSelect
kAudioUnitGetParameterSelect
Используемый системой для получения текущей стоимости параметра аудиоустройства, когда Вы вызываете
AudioUnitGetParameter
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitSetParameterSelect
kAudioUnitSetParameterSelect
Используемый системой для установки значения параметра аудиоустройства, когда Вы вызываете
AudioUnitSetParameter
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitScheduleParametersSelect
kAudioUnitScheduleParametersSelect
Используемый системой для планирования изменения значения параметра аудиоустройства, когда Вы вызываете
AudioUnitScheduleParameters
функция.Доступный в OS X v10.2 и позже.
-
kAudioUnitRenderSelect
kAudioUnitRenderSelect
Используемый системой для вызова рендеринга аудио аудиоустройством, когда Вы вызываете
AudioUnitRender
функция.Доступный в OS X v10.2 и позже.
-
kAudioUnitResetSelect
kAudioUnitResetSelect
Используемый системой для сброса аудиоустройства, когда Вы вызываете
AudioUnitReset
функция.Доступный в OS X v10.0 и позже.
-
kAudioUnitComplexRenderSelect
kAudioUnitComplexRenderSelect
Доступный в OS X v10.7 и позже.
-
kAudioUnitProcessSelect
kAudioUnitProcessSelect
Доступный в OS X v10.7 и позже.
-
kAudioUnitProcessMultipleSelect
kAudioUnitProcessMultipleSelect
Доступный в 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 и позже.