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

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

Разработчик

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

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

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

Ссылка свойств аудиоустройства

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


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

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


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

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


Swift

import AudioUnit

Objective C

@import AudioUnit;

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

Вы получаете доступ к свойствам аудиоустройства с помощью платформы Аудиоустройства, «Добираются» и функции «Набора», описанные в Ссылке Audio Unit Component Services. Эти функции:

Так называемые универсальные свойства аудиоустройства - те, которые могут примениться к любому аудиоустройству. Существуют также специфичные для Apple свойства, применяющиеся только к предоставленным Apple аудиоустройствам. Этот документ описывает обоих. Apple резервирует свойство IDs от 0 до 63999; можно использовать свойство IDs выше этого диапазона.

В дополнение к его значению атрибуты свойства аудиоустройства следующие:

  • Объем — программируемый контекст, в аудиоустройстве, что свойство применяется к. Свойство применяется к одному или более объемам, как описано в этом документе. Объемы аудиоустройства в iOS Вводятся, Вывод и Глобальная переменная. В OS X аудиоустройства имеют дополнительные, СВЯЗАННЫЕ С MIDI объемы: Группа, Часть и Примечание.

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

  • Доступ — только для чтения, только для записи, или чтение-запись.

Функции

  • Получает тип дисплея для параметра.

    Объявление

    Objective C

    #define GetAudioUnitParameterDisplayType (flags) ( (flags) & kAudioUnitParameterFlag_DisplayMask )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Определяет, является ли тип дисплея логарифмическим.

    Объявление

    Objective C

    #define AudioUnitDisplayTypeIsLogarithmic (flags) ( GetAudioUnitParameterDisplayType (flags) == kAudioUnitParameterFlag_DisplayLogarithmic )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Определяет, является ли тип дисплея квадратным корнем.

    Объявление

    Objective C

    #define AudioUnitDisplayTypeIsSquareRoot (flags) ( GetAudioUnitParameterDisplayType (flags) == kAudioUnitParameterFlag_DisplaySquareRoot )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Определяет, в квадрате ли тип дисплея.

    Объявление

    Objective C

    #define AudioUnitDisplayTypeIsSquared (flags) ( GetAudioUnitParameterDisplayType (flags) == kAudioUnitParameterFlag_DisplaySquared )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Определяет, возведен ли в куб тип дисплея.

    Объявление

    Objective C

    #define AudioUnitDisplayTypeIsCubed (flags) ( GetAudioUnitParameterDisplayType (flags) == kAudioUnitParameterFlag_DisplayCubed )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Определяет, является ли тип дисплея кубическим корнем.

    Объявление

    Objective C

    #define AudioUnitDisplayTypeIsCubeRoot (flags) ( GetAudioUnitParameterDisplayType (flags) == kAudioUnitParameterFlag_DisplayCubeRoot )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Определяет, экспоненциален ли тип дисплея.

    Объявление

    Objective C

    #define AudioUnitDisplayTypeIsExponential (flags) ( GetAudioUnitParameterDisplayType (flags) == kAudioUnitParameterFlag_DisplayExponential )

    Параметры

    flags

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

    Objective C

    @import AudioUnit;

    Доступность

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

  • Устанавливает тип дисплея.

    Объявление

    Objective C

    #define SetAudioUnitParameterDisplayType (flags, displayType) ( ((flags) & ~kAudioUnitParameterFlag_DisplayMask) | (displayType) )

    Параметры

    flags

    displayType

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

    Objective C

    @import AudioUnit;

    Доступность

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

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

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

  • Когда вызвано системой, обеспечивает удар и информацию о темпе к аудиоустройству от хост-приложения.

    Объявление

    Swift

    typealias HostCallback_GetBeatAndTempo = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafeMutablePointer<Float64>, UnsafeMutablePointer<Float64>) -> OSStatus)>

    Objective C

    typedef OSStatus (*HostCallback_GetBeatAndTempo) ( void *inHostUserData, Float64 *outCurrentBeat, Float64 *outCurrentTempo );

    Параметры

    inHostUserData

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

    outCurrentBeat

    На выводе, текущем ударе играющей музыки.

    outCurrentTempo

    На выводе, текущем темпе играющей музыки.

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

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

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

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

    Объявление

    Swift

    typealias HostCallback_GetMusicalTimeLocation = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafeMutablePointer<UInt32>, UnsafeMutablePointer<Float32>, UnsafeMutablePointer<UInt32>, UnsafeMutablePointer<Float64>) -> OSStatus)>

    Objective C

    typedef OSStatus (*HostCallback_GetMusicalTimeLocation) ( void *inHostUserData, UInt32 *outDeltaSampleOffsetToNextBeat, Float32 *outTimeSig_Numerator, UInt32 *outTimeSig_Denominator, Float64 *outCurrentMeasureDownBeat );

    Параметры

    inHostUserData

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

    outDeltaSampleOffsetToNextBeat

    На выводе, числе выборок до следующего удара.

    outTimeSig_Numerator

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

    outTimeSig_Denominator

    На выводе, знаменателе для музыкального музыкального размера.

    outCurrentMeasureDownBeat

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

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

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

  • Когда вызвано системой, предоставляет аудио транспортное состояние и информацию временной шкалы аудиоустройству от хост-приложения.

    Объявление

    Swift

    typealias HostCallback_GetTransportState = CFunctionPointer<((UnsafeMutablePointer<Void>, UnsafeMutablePointer<Boolean>, UnsafeMutablePointer<Boolean>, UnsafeMutablePointer<Float64>, UnsafeMutablePointer<Boolean>, UnsafeMutablePointer<Float64>, UnsafeMutablePointer<Float64>) -> OSStatus)>

    Objective C

    typedef OSStatus (*HostCallback_GetTransportState) ( void *inHostUserData, Boolean *outIsPlaying, Boolean *outTransportStateChanged, Float64 *outCurrentSampleInTimeLine, Boolean *outIsCycling, Float64 *outCycleStartBeat, Float64 *outCycleEndBeat );

    Параметры

    inHostUserData

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

    outIsPlaying

    На выводе, TRUE если аудио играет, или FALSE иначе.

    outTransportStateChanged

    На выводе, TRUE если транспортное состояние, измененное с прошлого раза обратный вызов, было вызвано, или FALSE иначе.

    outCurrentSampleInTimeLine

    На выводе, демонстрационном числе, индексированном от нуля с начала временной шкалы.

    outIsCycling

    На выводе, TRUE при циклическом повторении, или FALSE иначе.

    outCycleStartBeat

    outCycleEndBeat

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

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

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

На рабочем столе аудиоустройства MIDI могут реализовать эти обратные вызовы для предоставления данных MIDI хост-приложениям аудиоустройства.

Типы данных

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

    Объявление

    Swift

    struct AUChannelInfo { var inChannels: Int16 var outChannels: Int16 init() init(inChannels inChannels: Int16, outChannels outChannels: Int16) }

    Objective C

    typedef struct AUChannelInfo { SInt16 inChannels; SInt16 outChannels; } AUChannelInfo;

    Поля

    inChannels

    Число каналов ввода.

    outChannels

    Число каналов вывода.

    Обсуждение

    Доступность

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

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

    Объявление

    Swift

    struct AUDependentParameter { var mScope: AudioUnitScope var mParameterID: AudioUnitParameterID init() init(mScope mScope: AudioUnitScope, mParameterID mParameterID: AudioUnitParameterID) }

    Objective C

    typedef struct AUDependentParameter { AudioUnitScope mScope; AudioUnitParameterID mParameterID; } AUDependentParameter;

    Поля

    mScope

    mParameterID

    Доступность

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

  • Метка времени для запланированного запуска аудиоустройства I/O.

    Объявление

    Swift

    struct AudioOutputUnitStartAtTimeParams { var mTimestamp: AudioTimeStamp var mFlags: UInt32 init() init(mTimestamp mTimestamp: AudioTimeStamp, mFlags mFlags: UInt32) }

    Objective C

    typedef struct AudioOutputUnitStartAtTimeParams { AudioTimeStamp mTimestamp; UInt32 mFlags; } AudioOutputUnitStartAtTimeParams;

    Поля

    mTimestamp

    mFlags

    Доступность

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

  • Спецификация соединения источника месту назначения аудиоустройства.

    Объявление

    Swift

    struct AudioUnitConnection { var sourceAudioUnit: AudioUnit var sourceOutputNumber: UInt32 var destInputNumber: UInt32 init() init(sourceAudioUnit sourceAudioUnit: AudioUnit, sourceOutputNumber sourceOutputNumber: UInt32, destInputNumber destInputNumber: UInt32) }

    Objective C

    typedef struct AudioUnitConnection { AudioUnit sourceAudioUnit; UInt32 sourceOutputNumber; UInt32 destInputNumber; } AudioUnitConnection;

    Поля

    sourceAudioUnit

    Аудиоустройство, которое является, служит источником в соединении.

    sourceOutputNumber

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

    destInputNumber

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

    Доступность

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

  • Позволяет хост-приложению аудиоустройства говорить аудиоустройству использовать указанный буфер для своего входного обратного вызова.

    Объявление

    Swift

    struct AudioUnitExternalBuffer { var buffer: UnsafeMutablePointer<UInt8> var size: UInt32 init() init(buffer buffer: UnsafeMutablePointer<UInt8>, size size: UInt32) }

    Objective C

    typedef struct AudioUnitExternalBuffer { Byte *buffer; UInt32 size; } AudioUnitExternalBuffer;

    Поля

    buffer

    size

    Доступность

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

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

    Объявление

    Swift

    struct AudioUnitFrequencyResponseBin { var mFrequency: Float64 var mMagnitude: Float64 init() init(mFrequency mFrequency: Float64, mMagnitude mMagnitude: Float64) }

    Objective C

    typedef struct AudioUnitFrequencyResponseBin { Float64 mFrequency; Float64 mMagnitude; } AudioUnitFrequencyResponseBin;

    Поля

    mFrequency

    mMagnitude

    Обсуждение

    Массив AudioUnitFrequencyResponseBin передается в kAudioUnitProperty_FrequencyResponse с mFrequency заполненным полем. Массив возвращается с заполненными полями величины. Если меньше, чем kNumberOfResponseFrequencies необходимы, то первый неиспользованный стеллаж должен быть отмечен с отрицательной частотой.

    Доступность

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

  • Аудио, отсекающее, который произошел в модуле микшера.

    Объявление

    Swift

    struct AudioUnitMeterClipping { var peakValueSinceLastCall: Float32 var sawInfinity: Boolean var sawNotANumber: Boolean init() init(peakValueSinceLastCall peakValueSinceLastCall: Float32, sawInfinity sawInfinity: Boolean, sawNotANumber sawNotANumber: Boolean) }

    Objective C

    typedef struct AudioUnitMeterClipping { Float32 peakValueSinceLastCall; Boolean sawInfinity; Boolean sawNotANumber; } AudioUnitMeterClipping;

    Поля

    peakValueSinceLastCall

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

    sawInfinity

    TRUE если было бесконечное значение на этом канале с прошлого раза, когда свойство было получено.

    sawNotANumber

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

    Обсуждение

    Эта структура данных используется kAudioUnitProperty_MeterClipping свойство.

    Доступность

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

  • Единица измерения для параметра аудиоустройства.

    Объявление

    Swift

    typealias AudioUnitParameterUnit = UInt32

    Objective C

    typedef UInt32 AudioUnitParameterUnit;

    Обсуждение

    Различные единицы измерения для параметров аудиоустройства описаны в Единицах измерения Параметра Аудиоустройства.

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

    Objective C

    @import AudioUnit;

    Swift

    import AudioUnit

    Доступность

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

  • Объявление

    Swift

    struct AudioUnitParameterInfo { var name: (Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8) var unitName: Unmanaged<CFString>! var clumpID: UInt32 var cfNameString: Unmanaged<CFString>! var unit: AudioUnitParameterUnit var minValue: AudioUnitParameterValue var maxValue: AudioUnitParameterValue var defaultValue: AudioUnitParameterValue var flags: UInt32 init() init(name name: (Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8), unitName unitName: Unmanaged<CFString>!, clumpID clumpID: UInt32, cfNameString cfNameString: Unmanaged<CFString>!, unit unit: AudioUnitParameterUnit, minValue minValue: AudioUnitParameterValue, maxValue maxValue: AudioUnitParameterValue, defaultValue defaultValue: AudioUnitParameterValue, flags flags: UInt32) }

    Objective C

    typedef struct AudioUnitParameterInfo { char name[52]; CFStringRef unitName; UInt32 clumpID; CFStringRef cfNameString; AudioUnitParameterUnit unit; AudioUnitParameterValue minValue; AudioUnitParameterValue maxValue; AudioUnitParameterValue defaultValue; UInt32 flags; } AudioUnitParameterInfo;

    Поля

    name

    Должен быть установлен в 0.

    unitName

    Если kAudioUnitParameterUnit_CustomUnit установлен, это поле должно содержать допустимое CFString объект. Только допустимый, если kAudioUnitParameterUnit_CustomUnit установлен.

    clumpID

    Только допустимый, если kAudioUnitParameterFlag_HasClump установлен.

    cfNameString

    Только допустимый, если kAudioUnitParameterFlag_HasCFNameString установлен.

    unit

    Если unit поле содержит значение не в AudioUnitParameterUnit перечисление, затем предположите, что тип модуля kAudioUnitParameterUnit_Generic.

    minValue

    maxValue

    defaultValue

    flags

    Вследствие некоторых капризов о путях, которыми были описаны CFNames Параметра, было необходимо добавить флаг: kAudioUnitParameterFlag_CFNameRelease. В нормальном использовании название параметра является по существу статическим объектом, но иногда аудиоустройство будет генерировать названия параметра динамично. Поскольку они, как ожидают, будут CFString объекты, в этом случае узел должен выпустить те имена, когда он закончен с ними, но не было никакого способа передать это различие в поведении. Таким образом, если аудиоустройство может генерировать имя динамично, оно должно установить этот флаг в информации параметра. Узел должен проверить на этот флаг и если есть выпустить название параметра, когда это закончено с ним.

    Доступность

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

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

    Объявление

    Swift

    typealias AudioUnitParameterIDName = AudioUnitParameterNameInfo

    Objective C

    typedef struct AudioUnitParameterNameInfo { AudioUnitParameterID inID; SInt32 inDesiredLength; CFStringRef outName; } AudioUnitParameterIDName;

    Поля

    inID

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

    inDesiredLength

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

    outName

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

    Обсуждение

    Эта структура данных используется в качестве значения для kAudioUnitProperty_ParameterClumpName и kAudioUnitProperty_ParameterIDName свойства аудиоустройства.

    Доступность

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

  • Строковое представление значения параметра.

    Объявление

    Swift

    struct AudioUnitParameterStringFromValue { var inParamID: AudioUnitParameterID var inValue: UnsafePointer<AudioUnitParameterValue> var outString: Unmanaged<CFString>! init() init(inParamID inParamID: AudioUnitParameterID, inValue inValue: UnsafePointer<AudioUnitParameterValue>, outString outString: Unmanaged<CFString>!) }

    Objective C

    typedef struct AudioUnitParameterStringFromValue { AudioUnitParameterID inParamID; const AudioUnitParameterValue *inValue; CFStringRef outString; } AudioUnitParameterStringFromValue;

    Доступность

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

  • Значение параметра на основе строкового представления значения.

    Объявление

    Swift

    struct AudioUnitParameterValueFromString { var inParamID: AudioUnitParameterID var inString: Unmanaged<CFString>! var outValue: AudioUnitParameterValue init() init(inParamID inParamID: AudioUnitParameterID, inString inString: Unmanaged<CFString>!, outValue outValue: AudioUnitParameterValue) }

    Objective C

    typedef struct AudioUnitParameterValueFromString { AudioUnitParameterID inParamID; CFStringRef inString; AudioUnitParameterValue outValue; } AudioUnitParameterValueFromString;

    Доступность

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

  • Предложенная частота обновления и продолжительность истории для параметров, имеющих kAudioUnitParameterFlag_PlotHistory флаг установлен.

    Объявление

    Swift

    struct AudioUnitParameterHistoryInfo { var updatesPerSecond: Float32 var historyDurationInSeconds: Float32 init() init(updatesPerSecond updatesPerSecond: Float32, historyDurationInSeconds historyDurationInSeconds: Float32) }

    Objective C

    typedef struct AudioUnitParameterHistoryInfo { Float32 updatesPerSecond; Float32 historyDurationInSeconds; } AudioUnitParameterHistoryInfo;

    Обсуждение

    Структура заполнена путем получения значения kAudioUnitProperty_ParameterHistoryInfo свойство.

    Доступность

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

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

    Объявление

    Swift

    struct AUInputSamplesInOutputCallbackStruct { var inputToOutputCallback: AUInputSamplesInOutputCallback var userData: UnsafeMutablePointer<Void> init() init(inputToOutputCallback inputToOutputCallback: AUInputSamplesInOutputCallback, userData userData: UnsafeMutablePointer<Void>) }

    Objective C

    typedef struct AUInputSamplesInOutputCallbackStruct { AUInputSamplesInOutputCallback inputToOutputCallback; void *userData; } AUInputSamplesInOutputCallbackStruct;

    Поля

    inputToOutputCallback

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

    userData

    Пользовательские данные для выборки ввода к выводу, отображающейся для аудиоустройства.

    Доступность

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

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

    Объявление

    Swift

    struct AUPreset { var presetNumber: Int32 var presetName: Unmanaged<CFString>! init() init(presetNumber presetNumber: Int32, presetName presetName: Unmanaged<CFString>!) }

    Objective C

    typedef struct AUPreset { SInt32 presetNumber; CFStringRef presetName; } AUPreset;

    Поля

    presetNumber

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

    presetName

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

    Доступность

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

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

    Объявление

    Swift

    struct AURenderCallbackStruct { var inputProc: AURenderCallback var inputProcRefCon: UnsafeMutablePointer<Void> init() init(inputProc inputProc: AURenderCallback, inputProcRefCon inputProcRefCon: UnsafeMutablePointer<Void>) }

    Objective C

    typedef struct AURenderCallbackStruct { AURenderCallback inputProc; void *inputProcRefCon; } AURenderCallbackStruct;

    Поля

    inputProc

    inputProcRefCon

    Доступность

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

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

    Объявление

    Swift

    struct HostCallbackInfo { var hostUserData: UnsafeMutablePointer<Void> var beatAndTempoProc: HostCallback_GetBeatAndTempo var musicalTimeLocationProc: HostCallback_GetMusicalTimeLocation var transportStateProc: HostCallback_GetTransportState var transportStateProc2: HostCallback_GetTransportState2 init() init(hostUserData hostUserData: UnsafeMutablePointer<Void>, beatAndTempoProc beatAndTempoProc: HostCallback_GetBeatAndTempo, musicalTimeLocationProc musicalTimeLocationProc: HostCallback_GetMusicalTimeLocation, transportStateProc transportStateProc: HostCallback_GetTransportState, transportStateProc2 transportStateProc2: HostCallback_GetTransportState2) }

    Objective C

    typedef struct HostCallbackInfo { void *hostUserData; HostCallback_GetBeatAndTempo beatAndTempoProc; HostCallback_GetMusicalTimeLocation musicalTimeLocationProc; HostCallback_GetTransportState transportStateProc; } HostCallbackInfo;

    Поля

    hostUserData

    Пользовательские данные указаны Вашим приложением. Может быть NULL.

    beatAndTempoProc

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

    musicalTimeLocationProc

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

    transportStateProc

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

    Доступность

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

  • Объявление

    Swift

    struct MixerDistanceParams { var mReferenceDistance: Float32 var mMaxDistance: Float32 var mMaxAttenuation: Float32 init() init(mReferenceDistance mReferenceDistance: Float32, mMaxDistance mMaxDistance: Float32, mMaxAttenuation mMaxAttenuation: Float32) }

    Objective C

    typedef struct MixerDistanceParams { Float32 mReferenceDistance; Float32 mMaxDistance; Float32 mMaxAttenuation; // in decibels } MixerDistanceParams;

    Поля

    mReferenceDistance

    mMaxDistance

    mMaxAttenuation

    Доступность

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

  • Объявление

    Objective C

    struct ScheduledAudioFileRegion { AudioTimeStamp mTimeStamp; ScheduledAudioFileRegionCompletionProc mCompletionProc; void *mCompletionProcUserData; struct OpaqueAudioFileID *mAudioFile; UInt32 mLoopCount; SInt64 mStartFrame; UInt32 mFramesToPlay; };

    Поля

    mTimeStamp

    mCompletionProc

    может быть NULL

    mCompletionProcUserData

    mAudioFile

    Должен быть допустимый и уже открытый объект аудиофайла (типа AudioFileID), как объявлено в AudioToolbox/AudioFile.h.

    mLoopCount

    0 = не циклично выполняться

    mStartFrame

    Смещение кадра в файл.

    mFramesToPlay

    Число кадров для игры.

Константы

  • Программируемые роли и контексты для свойств аудиоустройства.

    Объявление

    Swift

    var kAudioUnitScope_Global: Int { get } var kAudioUnitScope_Input: Int { get } var kAudioUnitScope_Output: Int { get } var kAudioUnitScope_Group: Int { get } var kAudioUnitScope_Part: Int { get } var kAudioUnitScope_Note: Int { get }

    Objective C

    enum { kAudioUnitScope_Global = 0, kAudioUnitScope_Input = 1, kAudioUnitScope_Output = 2, kAudioUnitScope_Group = 3, kAudioUnitScope_Part = 4, kAudioUnitScope_Note = 5 };

    Константы

    • kAudioUnitScope_Global

      Контекст для характеристик аудиоустройства, применяющихся к аудиоустройству в целом.

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

    • kAudioUnitScope_Input

      Контекст для аудиоданных, входящих в аудиоустройство.

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

    • kAudioUnitScope_Output

      Контекст для аудиоданных, оставляя аудиоустройство.

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

    • kAudioUnitScope_Group

      В OS X, зависящем от контекста к объему управления параметров аудиоустройства.

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

    • kAudioUnitScope_Part

      В OS X, отличном контексте рендеринга; например, единственный тембр в мультитембральном инструменте или единственный цикл во много цикличном выполнении способный модуль выполняющего мертвую петлю летчика.

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

    • kAudioUnitScope_Note

      В OS X, объеме для изменений в отдельной музыкальной ноте. Идентификатор элемента, используемый с этим объемом, является уникальным идентификатором примечания, возвращенным из запущенного примечания (см. MusicDeviceStartNote функция в AudioUnit/MusicDevice.h).

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

    Обсуждение

    Каждый объем аудиоустройства является дискретным программируемым контекстом. Apple резервирует идентификаторы объема от 0 до 1024.

  • Свойства, применяющиеся к любому аудиоустройству.

    Объявление

    Swift

    var kAudioUnitProperty_ClassInfo: Int { get } var kAudioUnitProperty_MakeConnection: Int { get } var kAudioUnitProperty_SampleRate: Int { get } var kAudioUnitProperty_ParameterList: Int { get } var kAudioUnitProperty_ParameterInfo: Int { get } var kAudioUnitProperty_StreamFormat: Int { get } var kAudioUnitProperty_ElementCount: Int { get } var kAudioUnitProperty_Latency: Int { get } var kAudioUnitProperty_SupportedNumChannels: Int { get } var kAudioUnitProperty_MaximumFramesPerSlice: Int { get } var kAudioUnitProperty_AudioChannelLayout: Int { get } var kAudioUnitProperty_TailTime: Int { get } var kAudioUnitProperty_BypassEffect: Int { get } var kAudioUnitProperty_LastRenderError: Int { get } var kAudioUnitProperty_SetRenderCallback: Int { get } var kAudioUnitProperty_FactoryPresets: Int { get } var kAudioUnitProperty_RenderQuality: Int { get } var kAudioUnitProperty_InPlaceProcessing: Int { get } var kAudioUnitProperty_ElementName: Int { get } var kAudioUnitProperty_SupportedChannelLayoutTags: Int { get } var kAudioUnitProperty_PresentPreset: Int { get } var kAudioUnitProperty_ShouldAllocateBuffer: Int { get } var kAudioUnitProperty_ParameterHistoryInfo: Int { get } var kAudioUnitProperty_FrequencyResponse: Int { get } var kAudioUnitProperty_CPULoad: Int { get } var kAudioUnitProperty_ParameterValueStrings: Int { get } var kAudioUnitProperty_HostCallbacks: Int { get } var kAudioUnitProperty_ParameterStringFromValue: Int { get } var kAudioUnitProperty_ParameterIDName: Int { get } var kAudioUnitProperty_OfflineRender: Int { get } var kAudioUnitProperty_ParameterValueFromString: Int { get } var kAudioUnitProperty_DependentParameters: Int { get } var kAudioUnitProperty_InputSamplesInOutput: Int { get }

    Objective C

    enum { kAudioUnitProperty_ClassInfo = 0, kAudioUnitProperty_MakeConnection = 1, kAudioUnitProperty_SampleRate = 2, kAudioUnitProperty_ParameterList = 3, kAudioUnitProperty_ParameterInfo = 4, kAudioUnitProperty_StreamFormat = 8, kAudioUnitProperty_ElementCount = 11, kAudioUnitProperty_Latency = 12, kAudioUnitProperty_SupportedNumChannels = 13, kAudioUnitProperty_MaximumFramesPerSlice = 14, kAudioUnitProperty_AudioChannelLayout = 19, kAudioUnitProperty_TailTime = 20, kAudioUnitProperty_BypassEffect = 21, kAudioUnitProperty_LastRenderError = 22, kAudioUnitProperty_SetRenderCallback = 23, kAudioUnitProperty_FactoryPresets = 24, kAudioUnitProperty_RenderQuality = 26, kAudioUnitProperty_InPlaceProcessing = 29, kAudioUnitProperty_ElementName = 30, kAudioUnitProperty_SupportedChannelLayoutTags = 32, kAudioUnitProperty_PresentPreset = 36, kAudioUnitProperty_ShouldAllocateBuffer = 51, kAudioUnitProperty_ParameterHistoryInfo = 53, kAudioUnitProperty_CPULoad = 6, kAudioUnitProperty_ParameterValueStrings = 16, kAudioUnitProperty_HostCallbacks = 27, kAudioUnitProperty_ParameterStringFromValue = 33, kAudioUnitProperty_ParameterIDName = 34, kAudioUnitProperty_OfflineRender = 37, kAudioUnitProperty_ParameterValueFromString = 38, kAudioUnitProperty_DependentParameters = 45, kAudioUnitProperty_InputSamplesInOutput = 49, kAudioUnitProperty_FrequencyResponse = 52 };

    Константы

    • kAudioUnitProperty_ClassInfo

      Описывает состояние аудиоустройства.

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

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

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

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

    • kAudioUnitProperty_MakeConnection

      Только для записи AudioUnitConnection структура данных, допустимая на входном объеме аудиоустройства.

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

    • kAudioUnitProperty_SampleRate

      Чтение-запись Float64 значение, допустимое на объемах ввода и вывода аудиоустройства.

      Частота дискретизации звука для указанного объема.

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

    • kAudioUnitProperty_ParameterList

      Список только для чтения AudioUnitParameterID значения, допустимые на любом объеме аудиоустройства.

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

    • kAudioUnitProperty_ParameterInfo

      Только для чтения AudioUnitParameterInfo структура данных, допустимая на любом объеме аудиоустройства.

      Характеристики для параметра аудиоустройства включая минимум, максимум и значения по умолчанию; полное название параметра; и т.д. Для сокращенной версии названия параметра аудиоустройства, подходящего для компактных ситуаций с дисплеем, посмотрите kAudioUnitProperty_ParameterIDName свойство.

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

    • kAudioUnitProperty_StreamFormat

      Формат потока аудиоданных для элемента ввода или вывода аудиоустройства (также названный шиной).

      Чтение-запись AudioStreamBasicDescription структура данных, допустимая на объемах ввода и вывода аудиоустройства.

      AudioStreamBasicDescription структура не указывает расположение канала или цель. Для указания расположения канала используйте kAudioUnitProperty_AudioChannelLayout свойство.

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

    • kAudioUnitProperty_ElementCount

      Чтение-запись UInt32 значение, допустимое на любом объеме аудиоустройства. Глобальный объем аудиоустройства всегда имеет количество элемента 1.

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

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

    • kAudioUnitProperty_Latency

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

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

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

    • kAudioUnitProperty_SupportedNumChannels

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

      Размер массива указывает число AUChannelInfo структуры для аудиоустройства. Каждая структура описывает конфигурацию канала для аудиовхода / выходная шина. Например, значения (2, 2) указывает конфигурацию канала двух каналов ввода, соединенных к двум каналам вывода на шине.

      Отрицательная величина для поля в AUChannelInfo структура указывает, что шина ввода/вывода поддерживает переменное число каналов, следующим образом:

      • {–1, –1} указывает, что шина поддерживает любое число каналов ввода или вывода при условии, что количества каналов ввода и вывода соответствуют друг другу. Это - конфигурация по умолчанию для модулей эффекта.

      • {–1, –2} или {–2, –1} указывает, что шина поддерживает любое число каналов ввода и вывода; количества каналов на вводе и выводе могут отличаться друг от друга.

      • {–1, –3} указывает, что шина поддерживает любое число каналов ввода и до трех каналов вывода.

      Значение 0 для inChannels поле означает, что аудиоустройство не имеет никаких шин аудиовхода.

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

    • kAudioUnitProperty_MaximumFramesPerSlice

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

      Чтение-запись UInt32 значение, допустимое на глобальной области видимости аудиоустройства.

      Значение по умолчанию этого свойства 1,024, соответствуя приблизительно 23 мс в частоте дискретизации на 44,1 кГц. Это значение по умолчанию достаточно, когда приложение узла использует размер аппаратного буфера по умолчанию, и экран устройства не спит. Когда экран устройства спит, система экономит электроэнергию путем сокращения частоты, в которой это запрашивает демонстрационные кадры. Существует соответствующее увеличение числа демонстрационных кадров, которые требуют от аудиоустройства на вызов рендеринга.

      Следующая таблица обеспечивает некоторые общие размеры части:

      Количество кадра

      Миллисекунды в (приблизительных) 44,1 кГц

      1024

      23

      4096

      93

      256

      5

      Вы никогда не должны устанавливать это свойство для модулей I/O, потому что они предварительно сконфигурированы для обработки любого размера части, который требует система. Для всех других аудиоустройств необходимо установить это свойство в значение 4 096 для обработки экранного сна — если аудиовход не работает на устройстве. Когда аудиовход работает, система поддерживает размер части 1 024.

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

    • kAudioUnitProperty_AudioChannelLayout

      Чтение-запись AudioChannelLayout структура данных, допустимая на объемах ввода и вывода аудиоустройства.

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

      Некоторые аудиоустройства требуют этого свойства. Например, 3DMixer модуль должен реализовать это свойство на своей выходной шине. Если хост-приложение попытается очистить значение этого свойства на шине, требующей допустимого значения, то аудиоустройство возвратит kAudioUnitErr_InvalidPropertyValue ошибку.

      Шины ввода и вывода могут быть в одном из трех состояний в отношении расположения Звукового канала:

      1. Реализованный и набор

      2. Реализованный, но не набор

      3. Нереализованный

      Запрос значения этого свойства, когда это реализовано, но не установило результаты в a kAudioUnitErr_PropertyNotInUse ошибка.

      Используйте kAudioUnitProperty_AudioChannelLayout свойство каждый раз, когда расположение канала релевантно.

      Для соответствующей информации обратитесь к описаниям для ScheduledAudioFileRegion и AudioOutputUnitStartAtTimeParams структуры данных.

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

    • kAudioUnitProperty_TailTime

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

      Указывает оценку времени, в секундах, между последним допустимым вводом, получаемым аудиоустройством и выводом аудиоустройства, становящимся тихим. Например, реверберация оценки времени хвоста модуля время «затухания». Временная стоимость хвоста обычно является осторожной оценкой, что можно зависеть от.

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

    • kAudioUnitProperty_BypassEffect

      Чтение-запись UInt32 значение, представляя булево значение, допустимое на глобальной области видимости аудиоустройства.

      Указывает, обходится ли код обработки аудиоустройства (1) или не (0).

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

    • kAudioUnitProperty_LastRenderError

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

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

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

    • kAudioUnitProperty_SetRenderCallback

      Только для записи AURenderCallbackStruct структура данных, допустимая на входном объеме аудиоустройства.

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

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

    • kAudioUnitProperty_FactoryPresets

      Так называемые предварительные установки фабрики (в противоположность сконфигурированным пользователями предварительным установкам) являются, предоставленными аудиоустройством производителем. Вы выбираете активную предварительную установку путем установки kAudioUnitProperty_PresentPreset свойство.

      Только для чтения CFArrayRef массив AUPreset структуры.

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

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

    • kAudioUnitProperty_RenderQuality

      Чтение-запись UInt32 значение, допустимое на глобальной области видимости аудиоустройства.

      Значение в диапазоне 0 до 127, который указывает качество рендеринга аудиоустройства. Необходимо установить это свойство в его максимальное значение если, делая так результаты в чрезмерном использовании CPU.

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

    • kAudioUnitProperty_InPlaceProcessing

      Чтение-запись UInt32 значение, представляя булево значение, допустимое на глобальной области видимости аудиоустройства.

      Указывает, может ли аудиоустройство обработать входные данные непосредственно в его входном буфере (1) или не (0). Можно хотеть отключить оперативную обработку, чтобы позволить хост-приложению управлять буферами обработки.

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

    • kAudioUnitProperty_ElementName

      Имя указанного элемента.

      Чтение-запись CFStringRef объект, допустимый на любом объеме аудиоустройства.

      Когда присвоение имени элемента представляет в виде строки к аудиоустройству с AudioUnitSetProperty функция, Вы владеете ссылкой на имя и ответственны за более поздний выпуск его путем вызова CFRelease функция.

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

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

    • kAudioUnitProperty_SupportedChannelLayoutTags

      Массив только для чтения на AudioChannelLayoutTag структуры, допустимые на объемах ввода и вывода аудиоустройства.

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

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

      Некоторые аудиоустройства могут возвратить тег kAudioChannelLayoutTag_UseChannelDescriptions. Это указывает карту пользовательского канала.

      В этом случае узел тогда может смотреть на поддерживаемое число каналов на том объеме (использующий kAudioUnitProperty_SupportedNumChannels) и предоставить AudioChannelLayout kAudioUnitProperty_AudioChannelLayout свойство для указания расположения, числа каналов и расположения каждого из тех каналов. Этот MUST карты пользовательского канала имеет валентность канала, поддерживающуюся Аудиоустройством.

      Поле UseChannelBitmap НЕ используется в контексте AudioUnit.

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

    • kAudioUnitProperty_PresentPreset

      Активная фабрика задается для аудиоустройства.

      Чтение-запись AUPreset структура данных, допустимая на глобальной области видимости аудиоустройства, presetName поле в структуре имеет тип CFStringRef и следует за Базовой семантикой памяти Основы.

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

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

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

    • kAudioUnitProperty_ShouldAllocateBuffer

      Чтение-запись UInt32 значение, допустимое на объемах ввода и вывода аудиоустройства, устанавливаемых индивидуально на каждом элементе.

      Значение по умолчанию true, что означает, что связанный элемент аудиоустройства создает буфер для рендеринга в.

      Если это правда, элемент создаст буфер для рендеринга в.

      Если ложь, элемент не создаст буфер для рендеринга.

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

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

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

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

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

    • kAudioUnitProperty_ParameterHistoryInfo

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

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

    • kAudioUnitProperty_FrequencyResponse

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

    • kAudioUnitProperty_CPULoad

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

      Пропорция времени, когда аудиоустройство посвящает аудио рендерингу. Диапазоны значений от 0,0 (аудиоустройство не проводит времени, представляя) до 1,0 (аудиоустройство проводит все свое время, представляя).

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

    • kAudioUnitProperty_ParameterValueStrings

      Массив имен для именованного, индексируемого параметра аудиоустройства. Индексируемый параметр является тем, тип модуля которого kAudioUnitParameterUnit_Indexed. Строки массива могут использоваться для создания меню для параметра.

      Только для чтения CFArrayRef возразите, чьи элементы CFStringRef объекты, допустимые на любом объеме аудиоустройства.

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

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

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

    • kAudioUnitProperty_HostCallbacks

      Структура данных HostCallbackInfo только для записи, допустимая на глобальной области видимости аудиоустройства.

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

      Аудиоустройство должно вызвать обратные вызовы узла только из его функции рендеринга.

      Любым из параметров функции обратного вызова, когда вызвано аудиоустройством, может быть NULL. Это указывает, что модуль не хочет знать что определенная информация. Исключение - то, что модуль должен всегда указывать HostUserData, который был быть предоставленным модулю, когда было установлено свойство.

      Если узел неспособен предоставить требуемую информацию тогда, это может возвратить kAudioUnitErr_CannotDoInCurrentContext код ошибки.

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

    • kAudioUnitProperty_ParameterStringFromValue

      Только для чтения AudioUnitParameterStringFromValue структура, допустимая на любом объеме аудиоустройства.

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

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

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

      Например (тривиальный пример), модуль может представить параметр усиления в масштабе дБ и хотеть вывести на экран его минимальное значение как «отрицательная бесконечность». В этом случае аудиоустройство не возвратит имена ни для какого значения параметра, больше, чем его минимальное значение - таким образом, узел тогда просто выведет на экран значение параметра, как. Для значений, меньше чем или равных минимальному значению, аудиоустройство возвратит строку для «отрицательной бесконечности», которую узел может использовать для отображения соответственно.

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

      • HH:MM:SS:FF

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

      Вызов GetProperty используется в том же объеме и элементе как inParamID, объявляющийся в структуре, переданной в к этому свойству.

      Если *inValue элемент NULL, то аудиоустройство должно принять текущее значение указанного параметра. Если *inValue элемент NOT NULL, то аудиоустройство должно возвратить имя, используемое для указанного значения.

      На выходе outName может указать на CFStringRef (который раз так должен быть выпущен вызывающей стороной). Если параметр не будет иметь никакого специального имени, которое должно быть применено к тому значению параметра, то outName будет NULL, и узел должен вывести на экран значение параметра как надлежащее.

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

    • kAudioUnitProperty_ParameterIDName

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

      В Вашем хост-приложении Вы указываете желаемую длину для сокращенной версии имени путем установки inDesiredLength поле в этом свойстве. Для версии во всю длину названия параметра аудиоустройства посмотрите kAudioUnitProperty_ParameterInfo свойство.

      Значение является только для чтения AudioUnitParameterNameInfo структура данных, допустимая на любом объеме аудиоустройства.

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

    • kAudioUnitProperty_OfflineRender

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

    • kAudioUnitProperty_ParameterValueFromString

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

    • kAudioUnitProperty_DependentParameters

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

      Это свойство используется для параметров с kAudioUnitParameterFlag_IsGlobalMeta или набором флагов kAudioUnitParameterFlag_IsElementMeta. Приложения узлов (и механизм AudioUnitParameterListener) могут опросить это свойство для определения, какие параметры зависят от метапараметра.

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

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

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

    • kAudioUnitProperty_InputSamplesInOutput

      Чтение-запись структура AUInputSamplesInOutputCallbackStruct, допустимая на глобальной области видимости аудиоустройства.

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

      • outputTime - Метка времени передала в вызову рендеринга аудиоустройства. Эта метка времени представляет время первой выходной выборки.

      • inputSample - Демонстрационное число первой входной выборки, присутствующей в выходном аудио.

      • numInputSamples - Число входных выборок, использовавшихся и присутствующих в выходном аудио.

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

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

    Обсуждение

    Целочисленный диапазон для набора универсальных идентификаторов свойства аудиоустройства 0 до 999.

  • Свойства для Apple аудиоустройства I/O (иногда называемый устройствами вывода).

    Объявление

    Swift

    var kAudioOutputUnitProperty_CurrentDevice: Int { get } var kAudioOutputUnitProperty_IsRunning: Int { get } var kAudioOutputUnitProperty_ChannelMap: Int { get } var kAudioOutputUnitProperty_EnableIO: Int { get } var kAudioOutputUnitProperty_StartTime: Int { get } var kAudioOutputUnitProperty_SetInputCallback: Int { get } var kAudioOutputUnitProperty_HasIO: Int { get } var kAudioOutputUnitProperty_StartTimestampsAtZero: Int { get }

    Objective C

    enum { kAudioOutputUnitProperty_CurrentDevice = 2000, kAudioOutputUnitProperty_IsRunning = 2001, kAudioOutputUnitProperty_ChannelMap = 2002, kAudioOutputUnitProperty_EnableIO = 2003, kAudioOutputUnitProperty_StartTime = 2004, kAudioOutputUnitProperty_SetInputCallback = 2005, kAudioOutputUnitProperty_HasIO = 2006, kAudioOutputUnitProperty_StartTimestampsAtZero = 2007 };

    Константы

    • kAudioOutputUnitProperty_CurrentDevice

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

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

    • kAudioOutputUnitProperty_IsRunning

      Указывает, работает ли аудиоустройство (TRUE) или не (FALSE).

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

    • kAudioOutputUnitProperty_ChannelMap

      Каналы ввода карт от ввода (источник) к выводу (место назначения). Число каналов, представленных в карте канала, является числом каналов места назначения. Записи карты канала содержат номер канала источника, который должен быть отображен на том целевом канале. Если-1 указан, чем тот целевой канал не будет содержать какого-либо канала из источника (таким образом, это будет тихо). Это будет также работать с модулем AUConverter.

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

    • kAudioOutputUnitProperty_EnableIO

      Указывает, включен ли аудио I/O для комбинации объема шины модуля I/O.

      Шина модуля I/O 0 подключений для вывода аппаратных средств, такой что касается воспроизведения через динамик. Вывод включен по умолчанию. Для отключения вывода шина, 0 выходных объемов должны быть отключены, следующим образом:

      • UInt32 enableOutput = 0; // to disable output
      • AudioUnitElement outputBus = 0;
      • AudioUnitSetProperty (
      • io_unit_instance,
      • kAudioOutputUnitProperty_EnableIO,
      • kAudioUnitScope_Output,
      • outputBus,
      • &enableOutput,
      • sizeof (enableOutput)
      • );

      Шина модуля I/O 1 подключение для ввода аппаратных средств, такой что касается записи от микрофона. Ввод отключен по умолчанию. Для включения ввода шина, 1 входной объем должен быть включен, следующим образом:

      • UInt32 enableInput = 1; // to enable input
      • AudioUnitElement inputBus = 1;
      • AudioUnitSetProperty (
      • io_unit_instance,
      • kAudioOutputUnitProperty_EnableIO,
      • kAudioUnitScope_Input,
      • inputBus,
      • &enableInput,
      • sizeof (enableInput)
      • );

      Чтение-запись UInt32 значение, допустимое на объемах ввода и вывода.

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

    • kAudioOutputUnitProperty_StartTime

      Только для записи AudioOutputUnitStartAtTimeParams структура данных, допустимая на глобальной области видимости аудиоустройства. Когда это свойство будет установлено на устройстве вывода, оно вызовет следующий запрос Запуска (но никакие последующие Запуски) для использования функции AudioDeviceStartAtTime, с помощью указанной метки времени, передающей лжи для inRequestedStartTimeIsInput.

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

    • kAudioOutputUnitProperty_SetInputCallback

      Чтение-запись AURenderCallbackStruct структура данных, допустимая на глобальной области видимости аудиоустройства. То, когда устройство вывода было включено для входной работы, этот обратный вызов может использоваться для обеспечения единственного обратного вызова для хост-приложения от ввода I/O proc, для уведомления узла, которые вводят, доступно и может быть получено путем вызова AudioUnitRender функция.

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

    • kAudioOutputUnitProperty_HasIO

      Значение UInt32. Объем: {вывод объема, элемент 0 = вывод} {ввод объема, элемент 1 = ввод}. Значение 1 если ввод или вывод включен на указанном элементе. Посмотрите kAudioOutputUnitProperty_EnableIO.

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

    • kAudioOutputUnitProperty_StartTimestampsAtZero

      Чтение-запись UInt32 значение, допустимое на глобальной области видимости аудиоустройства.

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

  • Свойства, применяющиеся к обработке речи Apple аудиоустройство I/O.

    Объявление

    Swift

    var kAUVoiceIOProperty_BypassVoiceProcessing: Int { get } var kAUVoiceIOProperty_VoiceProcessingEnableAGC: Int { get } var kAUVoiceIOProperty_MuteOutput: Int { get }

    Objective C

    enum { kAUVoiceIOProperty_BypassVoiceProcessing = 2100, kAUVoiceIOProperty_VoiceProcessingEnableAGC = 2101, kAUVoiceIOProperty_MuteOutput = 2104, };

    Константы

    • kAUVoiceIOProperty_BypassVoiceProcessing

      Указывает, обойдена ли речевая обработка (какое-либо ненулевое значение) или активная (значение 0). Речевая обработка активна по умолчанию.

      Значение является чтением-записью UInt32 допустимый на глобальном объеме аудиоустройства.

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

    • kAUVoiceIOProperty_VoiceProcessingEnableAGC

      Указывает, включена ли автоматическая регулировка усиления (какое-либо ненулевое значение) или отключена (значение 0). Автоматическая регулировка усиления включена по умолчанию.

      Значение является чтением-записью UInt32 допустимый на глобальном объеме аудиоустройства.

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

    • kAUVoiceIOProperty_MuteOutput

      Отключает звук вывода Обработки речи модуль I/O. Выходное отключение звука прочь (0) по умолчанию. Для отключения звука вывода установите значение этого свойства в 1.

      Значение является чтением-записью UInt32 допустимый на глобальном объеме аудиоустройства.

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

  • Свойства для аудиоустройств микшера Apple.

    Объявление

    Swift

    var kAudioUnitProperty_MeteringMode: Int { get } var kAudioUnitProperty_MatrixLevels: Int { get } var kAudioUnitProperty_MatrixDimensions: Int { get } var kAudioUnitProperty_MeterClipping: Int { get }

    Objective C

    enum { // For general mixers kAudioUnitProperty_MeteringMode = 3007, // For the matrix mixer kAudioUnitProperty_MatrixLevels = 3006, kAudioUnitProperty_MatrixDimensions = 3009, kAudioUnitProperty_MeterClipping = 3011 };

    Константы

    • kAudioUnitProperty_MeteringMode

      Указывает, включено ли измерение или отключено для определенной комбинации элемента объема.

      Чтение-запись UInt32 значение, допустимое на объемах ввода и вывода.

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

    • kAudioUnitProperty_MatrixLevels

      Описывает внутреннее состояние матричного микшера.

      Вычислите размер, требуемый для значения этого свойства следующим образом:

      • (input channel count + 1) * (output channel count + 1)

      Получите количества каналов с помощью kAudioUnitProperty_MatrixDimensions свойство.

      Например, рассмотрите матричный микшер, имеющий 2 канала ввода и 2 канала вывода. Значение этого свойства тогда требует 3 x 3 массива Float32 значения. Можно получить определенные данные для этого состояния микшера матрицы в качестве примера следующим образом:

      • Глобальный объем сохранен в volumes[2][2]

      • Входные объемы сохранены в последнем столбце: первый канал ввода в volumes[0][2]; второй канал ввода в volumes[1][2]

      • Выходные объемы сохранены в последней строке: первый канал вывода в volumes [2][0]; второй канал вывода в volumes[2][1]

      • Объемы точки пересечения сохранены в их ожидаемых расположениях (volumes[0][1], и т.д.)

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

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

    • kAudioUnitProperty_MatrixDimensions

      Указывает общее количество каналов для ввода и вывода данного матричного микшера.

      Только для чтения 2 * UInt32 значение, допустимое на глобальной области видимости аудиоустройства.

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

    • kAudioUnitProperty_MeterClipping

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

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

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

  • Свойства для Apple 3D аудиоустройство Микшера.

    Объявление

    Swift

    var kAudioUnitProperty_3DMixerDistanceParams: Int { get } var kAudioUnitProperty_3DMixerAttenuationCurve: Int { get } var kAudioUnitProperty_SpatializationAlgorithm: Int { get } var kAudioUnitProperty_DopplerShift: Int { get } var kAudioUnitProperty_3DMixerRenderingFlags: Int { get } var kAudioUnitProperty_3DMixerDistanceAtten: Int { get } var kAudioUnitProperty_ReverbPreset: Int { get }

    Objective C

    enum { kAudioUnitProperty_3DMixerDistanceParams = 3010, kAudioUnitProperty_3DMixerAttenuationCurve = 3013, kAudioUnitProperty_SpatializationAlgorithm = 3000, kAudioUnitProperty_DopplerShift = 3002, kAudioUnitProperty_3DMixerRenderingFlags = 3003, kAudioUnitProperty_3DMixerDistanceAtten = 3004, kAudioUnitProperty_ReverbPreset = 3012 };

    Константы

    • kAudioUnitProperty_3DMixerDistanceParams

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

    • kAudioUnitProperty_3DMixerAttenuationCurve

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

    • kAudioUnitProperty_SpatializationAlgorithm

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

    • kAudioUnitProperty_DopplerShift

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

    • kAudioUnitProperty_3DMixerRenderingFlags

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

    • kAudioUnitProperty_3DMixerDistanceAtten

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

    • kAudioUnitProperty_ReverbPreset

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

  • Кривые затухания уровня звука для использования с Apple 3D аудиоустройства Микшера.

    Объявление

    Swift

    var k3DMixerAttenuationCurve_Power: Int { get } var k3DMixerAttenuationCurve_Exponential: Int { get } var k3DMixerAttenuationCurve_Inverse: Int { get } var k3DMixerAttenuationCurve_Linear: Int { get }

    Objective C

    enum { k3DMixerAttenuationCurve_Power = 0, k3DMixerAttenuationCurve_Exponential = 1, k3DMixerAttenuationCurve_Inverse = 2, k3DMixerAttenuationCurve_Linear = 3 };

    Константы

    • k3DMixerAttenuationCurve_Power

      Равное питание базировало кривую затухания.

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

    • k3DMixerAttenuationCurve_Exponential

      Экспоненциальная кривая затухания.

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

    • k3DMixerAttenuationCurve_Inverse

      Обратная кривая затухания.

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

    • k3DMixerAttenuationCurve_Linear

      Линейная кривая затухания.

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

  • Рендеринг опций для Apple 3D аудиоустройство Микшера.

    Объявление

    Swift

    var k3DMixerRenderingFlags_InterAuralDelay: Int { get } var k3DMixerRenderingFlags_DopplerShift: Int { get } var k3DMixerRenderingFlags_DistanceAttenuation: Int { get } var k3DMixerRenderingFlags_DistanceFilter: Int { get } var k3DMixerRenderingFlags_DistanceDiffusion: Int { get } var k3DMixerRenderingFlags_LinearDistanceAttenuation: Int { get } var k3DMixerRenderingFlags_ConstantReverbBlend: Int { get }

    Objective C

    enum { k3DMixerRenderingFlags_InterAuralDelay = (1L << 0), k3DMixerRenderingFlags_DopplerShift = (1L << 1), k3DMixerRenderingFlags_DistanceAttenuation = (1L << 2), k3DMixerRenderingFlags_DistanceFilter = (1L << 3), k3DMixerRenderingFlags_DistanceDiffusion = (1L << 4), k3DMixerRenderingFlags_LinearDistanceAttenuation = (1L << 5), k3DMixerRenderingFlags_ConstantReverbBlend = (1L << 6) };

    Константы

    • k3DMixerRenderingFlags_InterAuralDelay

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

    • k3DMixerRenderingFlags_DopplerShift

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

    • k3DMixerRenderingFlags_DistanceAttenuation

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

    • k3DMixerRenderingFlags_DistanceFilter

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

    • k3DMixerRenderingFlags_DistanceDiffusion

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

    • k3DMixerRenderingFlags_LinearDistanceAttenuation

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

    • k3DMixerRenderingFlags_ConstantReverbBlend

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

  • Свойства для Apple аудиоустройство AUConverter.

    Объявление

    Swift

    var kAudioUnitProperty_SampleRateConverterComplexity: Int { get }

    Objective C

    enum { kAudioUnitProperty_SampleRateConverterComplexity = 3014 };

    Константы

    • kAudioUnitProperty_SampleRateConverterComplexity

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

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

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

    Объявление

    Swift

    var kAudioUnitSampleRateConverterComplexity_Linear: Int { get } var kAudioUnitSampleRateConverterComplexity_Normal: Int { get } var kAudioUnitSampleRateConverterComplexity_Mastering: Int { get }

    Objective C

    enum { kAudioUnitSampleRateConverterComplexity_Linear = 'line', kAudioUnitSampleRateConverterComplexity_Normal = 'norm', kAudioUnitSampleRateConverterComplexity_Mastering = 'bats' };

    Константы

    • kAudioUnitSampleRateConverterComplexity_Linear

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

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

    • kAudioUnitSampleRateConverterComplexity_Normal

      Нормальное преобразование уровня выборочного уровня качества.

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

    • kAudioUnitSampleRateConverterComplexity_Mastering

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

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

    Обсуждение

    Самое низкое качество алгоритма Освоения выше, чем высшее качество Нормального алгоритма.

  • Качественные настройки рендеринга для аудиоустройств.

    Объявление

    Swift

    var kRenderQuality_Max: Int { get } var kRenderQuality_High: Int { get } var kRenderQuality_Medium: Int { get } var kRenderQuality_Low: Int { get } var kRenderQuality_Min: Int { get }

    Objective C

    enum { kRenderQuality_Max = 0x7F, kRenderQuality_High = 0x60, kRenderQuality_Medium = 0x40, kRenderQuality_Low = 0x20, kRenderQuality_Min = 0 };

    Константы

    • kRenderQuality_Max

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

    • kRenderQuality_High

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

    • kRenderQuality_Medium

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

    • kRenderQuality_Low

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

    • kRenderQuality_Min

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

    Обсуждение

    Как правило, это свойство привыкло к компромиссу между использованием CPU, задержкой и качеством обработки/вывода аудиоустройства.

  • Алгоритмы Spatialization для аудиоустройств регулятора панорамы.

    Объявление

    Swift

    var kSpatializationAlgorithm_EqualPowerPanning: Int { get } var kSpatializationAlgorithm_SphericalHead: Int { get } var kSpatializationAlgorithm_HRTF: Int { get } var kSpatializationAlgorithm_SoundField: Int { get } var kSpatializationAlgorithm_VectorBasedPanning: Int { get } var kSpatializationAlgorithm_StereoPassThrough: Int { get }

    Objective C

    enum { kSpatializationAlgorithm_EqualPowerPanning = 0, kSpatializationAlgorithm_SphericalHead = 1, kSpatializationAlgorithm_HRTF = 2, kSpatializationAlgorithm_SoundField = 3, kSpatializationAlgorithm_VectorBasedPanning = 4, kSpatializationAlgorithm_StereoPassThrough = 5 };

    Константы

    • kSpatializationAlgorithm_EqualPowerPanning

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

    • kSpatializationAlgorithm_SphericalHead

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

    • kSpatializationAlgorithm_HRTF

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

    • kSpatializationAlgorithm_SoundField

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

    • kSpatializationAlgorithm_VectorBasedPanning

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

    • kSpatializationAlgorithm_StereoPassThrough

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

  • Ключи, определяющие единицы измерения для параметров аудиоустройства.

    Объявление

    Swift

    var kAudioUnitParameterUnit_Generic: Int { get } var kAudioUnitParameterUnit_Indexed: Int { get } var kAudioUnitParameterUnit_Boolean: Int { get } var kAudioUnitParameterUnit_Percent: Int { get } var kAudioUnitParameterUnit_Seconds: Int { get } var kAudioUnitParameterUnit_SampleFrames: Int { get } var kAudioUnitParameterUnit_Phase: Int { get } var kAudioUnitParameterUnit_Rate: Int { get } var kAudioUnitParameterUnit_Hertz: Int { get } var kAudioUnitParameterUnit_Cents: Int { get } var kAudioUnitParameterUnit_RelativeSemiTones: Int { get } var kAudioUnitParameterUnit_MIDINoteNumber: Int { get } var kAudioUnitParameterUnit_MIDIController: Int { get } var kAudioUnitParameterUnit_Decibels: Int { get } var kAudioUnitParameterUnit_LinearGain: Int { get } var kAudioUnitParameterUnit_Degrees: Int { get } var kAudioUnitParameterUnit_EqualPowerCrossfade: Int { get } var kAudioUnitParameterUnit_MixerFaderCurve1: Int { get } var kAudioUnitParameterUnit_Pan: Int { get } var kAudioUnitParameterUnit_Meters: Int { get } var kAudioUnitParameterUnit_AbsoluteCents: Int { get } var kAudioUnitParameterUnit_Octaves: Int { get } var kAudioUnitParameterUnit_BPM: Int { get } var kAudioUnitParameterUnit_Beats: Int { get } var kAudioUnitParameterUnit_Milliseconds: Int { get } var kAudioUnitParameterUnit_Ratio: Int { get } var kAudioUnitParameterUnit_CustomUnit: Int { get }

    Objective C

    enum { kAudioUnitParameterUnit_Generic = 0, kAudioUnitParameterUnit_Indexed = 1, kAudioUnitParameterUnit_Boolean = 2, kAudioUnitParameterUnit_Percent = 3, kAudioUnitParameterUnit_Seconds = 4, kAudioUnitParameterUnit_SampleFrames = 5, kAudioUnitParameterUnit_Phase = 6, kAudioUnitParameterUnit_Rate = 7, kAudioUnitParameterUnit_Hertz = 8, kAudioUnitParameterUnit_Cents = 9, kAudioUnitParameterUnit_RelativeSemiTones = 10, kAudioUnitParameterUnit_MIDINoteNumber = 11, kAudioUnitParameterUnit_MIDIController = 12, kAudioUnitParameterUnit_Decibels = 13, kAudioUnitParameterUnit_LinearGain = 14, kAudioUnitParameterUnit_Degrees = 15, kAudioUnitParameterUnit_EqualPowerCrossfade = 16, kAudioUnitParameterUnit_MixerFaderCurve1 = 17, kAudioUnitParameterUnit_Pan = 18, kAudioUnitParameterUnit_Meters = 19, kAudioUnitParameterUnit_AbsoluteCents = 20, kAudioUnitParameterUnit_Octaves = 21, kAudioUnitParameterUnit_BPM = 22, kAudioUnitParameterUnit_Beats = 23, kAudioUnitParameterUnit_Milliseconds = 24, kAudioUnitParameterUnit_Ratio = 25, kAudioUnitParameterUnit_CustomUnit = 26 }; typedef UInt32 AudioUnitParameterUnit;

    Константы

    • kAudioUnitParameterUnit_Generic

      Универсальная единица измерения.

      Ожидаемый, но не требуемый расположиться между 0,0 и 1.0.

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

    • kAudioUnitParameterUnit_Indexed

      Индексируемая единица измерения.

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

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

    • kAudioUnitParameterUnit_Boolean

      Подобная булевской переменной единица измерения.

      Значение 0,0 средних значений FALSE и ненулевое значение означает TRUE.

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

    • kAudioUnitParameterUnit_Percent

      Единица измерения процента.

      Большинство параметров аудиоустройства этого типа колеблется от 0 (для 0%) до 100 (для 100%). Некоторый диапазон от от –50 до +50.

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

    • kAudioUnitParameterUnit_Seconds

      Единица измерения целых секунд, указывая или абсолютное или относительное время.

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

    • kAudioUnitParameterUnit_SampleFrames

      Единица измерения примерного числа кадров.

      Продолжительность демонстрационного кадра, для фиксированных форматов аудио частоты кадров, равна 1.0/kAudioUnitProperty_SampleRate секунды.

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

    • kAudioUnitParameterUnit_Phase

      Единица измерения углового градуса.

      Типичный диапазон –180 до +180 и предназначается для представления разности фаз двух сигналов. См. также kAudioUnitParameterUnit_Degrees свойство.

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

    • kAudioUnitParameterUnit_Rate

      Единица измерения коэффициента умножения.

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

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

    • kAudioUnitParameterUnit_Hertz

      Единица измерения герц.

      Абсолютная частота или подача в циклах в секунду.

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

    • kAudioUnitParameterUnit_Cents

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

      Относительная музыкальная подача в центах, где 1 200 центов равны одной октаве. 100 центов равны одному полутону. См. также kAudioUnitParameterUnit_AbsoluteCents свойство.

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

    • kAudioUnitParameterUnit_RelativeSemiTones

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

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

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

    • kAudioUnitParameterUnit_MIDINoteNumber

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

      Абсолютный слух, как определено в спецификации MIDI. Стандартная клавиатура фортепьяно колеблется от примечания MIDI номер 21 (для примечания A0) к 108 (для примечания C8), с MIDI отмечают 60 соответствий середине C (C4). Частота для данного числа примечания MIDI может зависеть от настраивающейся таблицы.

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

    • kAudioUnitParameterUnit_MIDIController

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

      Диапазон от 0 до 127.

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

    • kAudioUnitParameterUnit_Decibels

      Логарифмическая единица измерения, представляющая отношение между двумя уровнями звука.

      Обычно используемый в качестве относительной меры усиления звуковых частот.

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

    • kAudioUnitParameterUnit_LinearGain

      Линейная единица измерения, представляющая различие между двумя уровнями звука.

      Обычно используемый в качестве относительной меры усиления звуковых частот.

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

    • kAudioUnitParameterUnit_Degrees

      Единица измерения углового градуса.

      Типичный диапазон от-180 ° до +180 ° и предназначается как общее представление геометрической позиции, такой что касается источников аудиосигналов в трехмерной системе координат. См. также kAudioUnitParameterUnit_Phase свойство.

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

    • kAudioUnitParameterUnit_EqualPowerCrossfade

      Единица измерения мощности звука.

      Рекомендуемый диапазон от 0 до 100, представляя плавно накладывать соединение двух источников согласно sqrt (x) и sqrt (1.0 - x).

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

    • kAudioUnitParameterUnit_MixerFaderCurve1

      Единица измерения мощности звука.

      Рекомендуемый диапазон от 0,0 до 1.0. Использовать pow (x, 3.0) моделировать разумный линейный ответ регулятора громкости канала микшера.

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

    • kAudioUnitParameterUnit_Pan

      Аудио единица измерения позиции.

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

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

    • kAudioUnitParameterUnit_Meters

      Единица расстояния меры, соответствуя метрам.

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

    • kAudioUnitParameterUnit_AbsoluteCents

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

      Абсолютная музыкальная подача в центах. 1 200 центов равны одной октаве. Если f частота в герц, тогда absoluteCents = 1200 * log2 (f/440) + 6900. См. также kAudioUnitParameterUnit_Cents свойство.

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

    • kAudioUnitParameterUnit_Octaves

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

      Октавы в относительной подаче, где значение 1 равно интервалу 1200 центы.

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

    • kAudioUnitParameterUnit_BPM

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

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

    • kAudioUnitParameterUnit_Beats

      Единица измерения времени меры в музыкальных ударах.

      1,0 удара в 120 BPM (удары в минуту) равняются продолжительности 1/2 секунды.

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

    • kAudioUnitParameterUnit_Milliseconds

      Единица измерения времени миллисекунд представления меры.

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

    • kAudioUnitParameterUnit_Ratio

      Безразмерная единица измерения отношения.

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

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

    • kAudioUnitParameterUnit_CustomUnit

      Пользовательская единица измерения.

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

    Обсуждение

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

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

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

    Объявление

    Swift

    var kAudioUnitParameterFlag_CFNameRelease: Int { get } var kAudioUnitParameterFlag_PlotHistory: Int { get } var kAudioUnitParameterFlag_MeterReadOnly: Int { get } var kAudioUnitParameterFlag_DisplayMask: Int { get } var kAudioUnitParameterFlag_DisplaySquareRoot: Int { get } var kAudioUnitParameterFlag_DisplaySquared: Int { get } var kAudioUnitParameterFlag_DisplayCubed: Int { get } var kAudioUnitParameterFlag_DisplayCubeRoot: Int { get } var kAudioUnitParameterFlag_DisplayExponential: Int { get } var kAudioUnitParameterFlag_HasClump: Int { get } var kAudioUnitParameterFlag_ValuesHaveStrings: Int { get } var kAudioUnitParameterFlag_DisplayLogarithmic: Int { get } var kAudioUnitParameterFlag_IsHighResolution: Int { get } var kAudioUnitParameterFlag_NonRealTime: Int { get } var kAudioUnitParameterFlag_CanRamp: Int { get } var kAudioUnitParameterFlag_ExpertMode: Int { get } var kAudioUnitParameterFlag_HasCFNameString: Int { get } var kAudioUnitParameterFlag_IsGlobalMeta: Int { get } var kAudioUnitParameterFlag_IsElementMeta: Int { get } var kAudioUnitParameterFlag_IsReadable: Int { get } var kAudioUnitParameterFlag_IsWritable: Int { get }

    Objective C

    enum { kAudioUnitParameterFlag_CFNameRelease = (1L << 4), kAudioUnitParameterFlag_PlotHistory = (1L << 14), kAudioUnitParameterFlag_MeterReadOnly = (1L << 15), kAudioUnitParameterFlag_DisplayMask = (7L << 16) | (1L << 22), kAudioUnitParameterFlag_DisplaySquareRoot = (1L << 16), kAudioUnitParameterFlag_DisplaySquared = (2L << 16), kAudioUnitParameterFlag_DisplayCubed = (3L << 16), kAudioUnitParameterFlag_DisplayCubeRoot = (4L << 16), kAudioUnitParameterFlag_DisplayExponential = (5L << 16), kAudioUnitParameterFlag_HasClump = (1L << 20), kAudioUnitParameterFlag_ValuesHaveStrings = (1L << 21), kAudioUnitParameterFlag_DisplayLogarithmic = (1L << 22), kAudioUnitParameterFlag_IsHighResolution = (1L << 23), kAudioUnitParameterFlag_NonRealTime = (1L << 24), kAudioUnitParameterFlag_CanRamp = (1L << 25), kAudioUnitParameterFlag_ExpertMode = (1L << 26), kAudioUnitParameterFlag_HasCFNameString = (1L << 27), kAudioUnitParameterFlag_IsGlobalMeta = (1L << 28), kAudioUnitParameterFlag_IsElementMeta = (1L << 29), kAudioUnitParameterFlag_IsReadable = (1L << 30), kAudioUnitParameterFlag_IsWritable = (1L << 31) };

    Константы

    • kAudioUnitParameterFlag_CFNameRelease

      Если аудиоустройство может генерировать названия параметра динамично, оно должно установить этот флаг.

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

      Если этот флаг не установлен, хост-приложение может предположить, что аудиоустройство выпустит свои названия параметра.

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

    • kAudioUnitParameterFlag_PlotHistory

      Если установлено, добираясь kAudioUnitProperty_ParameterHistoryInfo свойство заполняет AudioUnitParameterHistoryInfo структура, содержащая рекомендуемую частоту обновления и продолжительность истории.

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

    • kAudioUnitParameterFlag_MeterReadOnly

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

    • kAudioUnitParameterFlag_DisplayMask

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

    • kAudioUnitParameterFlag_DisplaySquareRoot

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

    • kAudioUnitParameterFlag_DisplaySquared

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

    • kAudioUnitParameterFlag_DisplayCubed

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

    • kAudioUnitParameterFlag_DisplayCubeRoot

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

    • kAudioUnitParameterFlag_DisplayExponential

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

    • kAudioUnitParameterFlag_HasClump

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

    • kAudioUnitParameterFlag_ValuesHaveStrings

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

    • kAudioUnitParameterFlag_DisplayLogarithmic

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

    • kAudioUnitParameterFlag_IsHighResolution

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

    • kAudioUnitParameterFlag_NonRealTime

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

    • kAudioUnitParameterFlag_CanRamp

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

    • kAudioUnitParameterFlag_ExpertMode

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

    • kAudioUnitParameterFlag_HasCFNameString

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

    • kAudioUnitParameterFlag_IsGlobalMeta

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

    • kAudioUnitParameterFlag_IsElementMeta

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

    • kAudioUnitParameterFlag_IsReadable

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

    • kAudioUnitParameterFlag_IsWritable

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

    Обсуждение

    Эти константы релевантны только в OS X, а не в iOS.

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

  • Максимальное количество частотной характеристики укладывает структуры в стеллаж для AudioUnitProperty_FrequencyResponse свойство.

    Объявление

    Swift

    var kNumberOfResponseFrequencies: Int { get }

    Objective C

    enum { kNumberOfResponseFrequencies = 1024 };

    Константы

    • kNumberOfResponseFrequencies

      Максимальное количество частотной характеристики укладывает структуры в стеллаж для AudioUnitProperty_FrequencyResponse свойство.

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

    Обсуждение

    Массив AudioUnitFrequencyResponseBin передаются в kAudioUnitProperty_FrequencyResponse с mFrequency поле заполнено. Массив возвращается с mMagnitude поля заполнены. Если меньше, чем kNumberOfResponseFrequencies необходимы, тогда первый неиспользованный стеллаж должен быть отмечен с отрицательной частотой.

  • Ключи для аудиоустройства kAudioUnitProperty_ClassInfo словари свойства.

    Объявление

    Swift

    var kAUPresetVersionKey: String { get } var kAUPresetTypeKey: String { get } var kAUPresetSubtypeKey: String { get } var kAUPresetManufacturerKey: String { get } var kAUPresetDataKey: String { get } var kAUPresetNameKey: String { get } var kAUPresetRenderQualityKey: String { get } var kAUPresetCPULoadKey: String { get } var kAUPresetElementNameKey: String { get } var kAUPresetExternalFileRefs: String { get } var kAUPresetPartKey: String { get }

    Objective C

    #define kAUPresetVersionKey "version" #define kAUPresetTypeKey "type" #define kAUPresetSubtypeKey "subtype" #define kAUPresetManufacturerKey "manufacturer" #define kAUPresetDataKey "data" #define kAUPresetNameKey "name" #define kAUPresetRenderQualityKey "render-quality" #define kAUPresetCPULoadKey "cpu-load" #define kAUPresetElementNameKey "element-name" #define kAUPresetExternalFileRefs "file-references" #define kAUPresetPartKey "part"

    Константы

    • kAUPresetVersionKey

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

    • kAUPresetTypeKey

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

    • kAUPresetSubtypeKey

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

    • kAUPresetManufacturerKey

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

    • kAUPresetDataKey

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

    • kAUPresetNameKey

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

    • kAUPresetRenderQualityKey

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

    • kAUPresetCPULoadKey

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

    • kAUPresetElementNameKey

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

    • kAUPresetExternalFileRefs

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

    • kAUPresetPartKey

      Если настоящее, отличает глобальную предварительную установку, установленную на глобальной области видимости от частично основанной предварительной установки, установленной на объеме части. Значение этого ключа определяется аудиоустройством, которому это применяется к.

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

    Обсуждение

    Используйте эти предварительно установленные ключи аудиоустройства следующим образом:

    • static const CFStringRef kMyVersionString = CFSTR (kAUPresetVersionKey);
  • Зарезервированный для системного использования.

    Объявление

    Swift

    var kAudioUnitClumpID_System: Int { get }

    Objective C

    enum { kAudioUnitClumpID_System = 0 };

    Константы

    • kAudioUnitClumpID_System

      Зарезервированный для системного использования. Используйте Значения идентификаторов глыбы кроме 0.

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