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

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

Разработчик

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

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

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

Ссылка служб формата аудио

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


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

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


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

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


Swift

import AudioToolbox

Objective C

@import AudioToolbox;

Этот документ описывает Audio Format Services, интерфейс C для получения информации о форматах аудио и кодеках.

Функции

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

    Объявление

    Swift

    func AudioFormatGetProperty(_ inPropertyID: AudioFormatPropertyID, _ inSpecifierSize: UInt32, _ inSpecifier: UnsafePointer<Void>, _ ioDataSize: UnsafeMutablePointer<UInt32>, _ outPropertyData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioFormatGetProperty ( AudioFormatPropertyID inPropertyID, UInt32 inSpecifierSize, const void *inSpecifier, UInt32 *ioPropertyDataSize, void *outPropertyData );

    Параметры

    inPropertyID

    AudioFormatPropertyID постоянный. Для списка этих констант посмотрите Идентификаторы Свойства Формата аудио.

    inSpecifierSize

    Размер данных спецификатора.

    inSpecifier

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

    ioDataSize

    На вводе, размере outPropertyData буфер. На выводе, числе байтов, записанных в буфер.

    outPropertyData

    Буфер для записи данных свойства в. Если outPropertyData параметр NULL и ioPropertyDataSize не NULL, о сумме, которая была бы записана, сообщают.

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

    Код результата. Возвраты noErr в случае успеха.

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

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

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioFormatGetPropertyInfo(_ inPropertyID: AudioFormatPropertyID, _ inSpecifierSize: UInt32, _ inSpecifier: UnsafePointer<Void>, _ outDataSize: UnsafeMutablePointer<UInt32>) -> OSStatus

    Objective C

    OSStatus AudioFormatGetPropertyInfo ( AudioFormatPropertyID inPropertyID, UInt32 inSpecifierSize, const void *inSpecifier, UInt32 *outPropertyDataSize );

    Параметры

    inPropertyID

    AudioFormatPropertyID постоянный.

    inSpecifierSize

    Размер данных спецификатора.

    inSpecifier

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

    outDataSize

    Размер в байтах текущей стоимости свойства. Для получения значения свойства Вам нужен буфер этого размера.

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

    Код результата. Возвраты noErr в случае успеха.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Типы данных

  • Описывает аудио, уехавшее/исправленное относительно баланса, и передняя сторона/спина исчезают значения.

    Объявление

    Swift

    struct AudioBalanceFade { var mLeftRightBalance: Float32 var mBackFrontFade: Float32 var mType: UInt32 var mChannelLayout: UnsafePointer<AudioChannelLayout> init() init(mLeftRightBalance mLeftRightBalance: Float32, mBackFrontFade mBackFrontFade: Float32, mType mType: UInt32, mChannelLayout mChannelLayout: UnsafePointer<AudioChannelLayout>) }

    Objective C

    struct AudioBalanceFade { Float32 mLeftRightBalance; Float32 mBackFrontFade; UInt32 mType; const AudioChannelLayout *mChannelLayout; }; typedef struct AudioBalanceFade AudioBalanceFade;

    Поля

    mLeftRightBalance

    Аудио уехало/исправило баланс, где-1 представляет полный оставленный, 0 представляет центр, и +1 представляет полное право.

    mBackFrontFade

    Аудио передняя сторона/спина исчезает, где-1 представляет всю заднюю часть, 0 представляет центр, и +1 представляет полную переднюю сторону.

    mType

    Постоянный AudioBalanceFadeType. макс. единичное усиление или равное питание.

    mChannelLayout

    Размер, в байтах, mMagicCookie параметр.

    Обсуждение

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

    Доступность

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

  • Спецификатор для kAudioFormatProperty_FormatList свойство.

    Объявление

    Swift

    struct AudioFormatInfo { var mASBD: AudioStreamBasicDescription var mMagicCookie: UnsafePointer<Void> var mMagicCookieSize: UInt32 init() init(mASBD mASBD: AudioStreamBasicDescription, mMagicCookie mMagicCookie: UnsafePointer<Void>, mMagicCookieSize mMagicCookieSize: UInt32) }

    Objective C

    struct AudioFormatInfo { AudioStreamBasicDescription mASBD; const void *mMagicCookie; UInt32 mMagicCookieSize; }; typedef struct AudioFormatInfo AudioFormatInfo;

    Поля

    mASBD

    AudioStreamBasicDescription структура.

    mMagicCookie

    Указатель на информацию о распаковке для данных, описанных в mASBD параметр.

    mMagicCookieSize

    Размер, в байтах, mMagicCookie параметр.

    Доступность

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

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

    Объявление

    Swift

    struct AudioFormatListItem { var mASBD: AudioStreamBasicDescription var mChannelLayoutTag: AudioChannelLayoutTag init() init(mASBD mASBD: AudioStreamBasicDescription, mChannelLayoutTag mChannelLayoutTag: AudioChannelLayoutTag) }

    Objective C

    struct AudioFormatListItem { AudioStreamBasicDescription mASBD; AudioChannelLayoutTag mChannelLayoutTag; }; typedef struct AudioFormatListItem AudioFormatListItem;

    Поля

    mASBD

    AudioStreamBasicDescription структура.

    mChannelLayoutTag

    AudioChannelLayoutTag значение.

    Доступность

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

  • Информация о панорамировании аудио.

    Объявление

    Swift

    struct AudioPanningInfo { var mPanningMode: UInt32 var mCoordinateFlags: UInt32 var mCoordinates: (Float32, Float32, Float32) var mGainScale: Float32 var mOutputChannelMap: UnsafePointer<AudioChannelLayout> init() init(mPanningMode mPanningMode: UInt32, mCoordinateFlags mCoordinateFlags: UInt32, mCoordinates mCoordinates: (Float32, Float32, Float32), mGainScale mGainScale: Float32, mOutputChannelMap mOutputChannelMap: UnsafePointer<AudioChannelLayout>) }

    Objective C

    struct AudioPanningInfo { UInt32 mPanningMode; UInt32 mCoordinateFlags; Float32 mCoordinates[3]; Float32 mGainScale; const AudioChannelLayout *mOutputChannelMap; }; typedef struct AudioPanningInfo AudioPanningInfo;

    Поля

    mPanningMode

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

    mCoordinateFlags

    Для доступных координатных флагов посмотрите Channel Coordinate Flags.

    mCoordinates

    Для доступных координатных индексных констант посмотрите Channel Coordinate Index Constants.

    mGainScale

    Множитель для значений панорамирования аудио, обычно представляя объем оценивает в диапазоне от 0 до 1. Значение 1 результата в панорамировании аудио при единичном усилении. Значение 0 заставляет все каналы замолчать.

    mOutputChannelMap

    Карта канала раньше определяла объемы канала для аудио панорамирования.

    Доступность

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

  • Спецификатор для kAudioFormatProperty_FormatList свойство, включая кодек для использования.

    Объявление

    Swift

    struct ExtendedAudioFormatInfo { var mASBD: AudioStreamBasicDescription var mMagicCookie: UnsafePointer<Void> var mMagicCookieSize: UInt32 var mClassDescription: AudioClassDescription init() init(mASBD mASBD: AudioStreamBasicDescription, mMagicCookie mMagicCookie: UnsafePointer<Void>, mMagicCookieSize mMagicCookieSize: UInt32, mClassDescription mClassDescription: AudioClassDescription) }

    Objective C

    struct ExtendedAudioFormatInfo { AudioStreamBasicDescription mASBD; const void *mMagicCookie; UInt32 mMagicCookieSize; AudioClassDescription mClassDescription; }; typedef struct ExtendedAudioFormatInfo ExtendedAudioFormatInfo;

    Поля

    mASBD

    AudioStreamBasicDescription структура.

    mMagicCookie

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

    mMagicCookieSize

    Размер, в байтах, mMagicCookie поле.

    mClassDescription

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

    Доступность

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

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

    Объявление

    Swift

    typealias AudioFormatPropertyID = UInt32

    Objective C

    typedef UInt32 AudioFormatPropertyID;

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Константы

  • Идентификаторы для аудио баланса исчезают типы.

    Объявление

    Swift

    var kAudioBalanceFadeType_MaxUnityGain: Int { get } var kAudioBalanceFadeType_EqualPower: Int { get }

    Objective C

    enum { kAudioBalanceFadeType_MaxUnityGain = 0, kAudioBalanceFadeType_EqualPower = 1 };

    Константы

    • kAudioBalanceFadeType_MaxUnityGain

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

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

    • kAudioBalanceFadeType_EqualPower

      Полная громкость остается постоянной, но усиление может превысить 1.0. Значение усиления 1.0, когда баланс и исчезает, находятся в центре. Оттуда они могут увеличиться до +3dB (1.414) и уменьшиться до тишины.

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

    Обсуждение

    Эти константы используются в качестве значений для mType поле AudioBalanceFade структура.

  • Константы для использования с AudioFormatGetPropertyInfo и AudioFormatGetProperty функции.

    Объявление

    Swift

    var kAudioFormatProperty_FormatInfo: Int { get } var kAudioFormatProperty_FormatName: Int { get } var kAudioFormatProperty_EncodeFormatIDs: Int { get } var kAudioFormatProperty_DecodeFormatIDs: Int { get } var kAudioFormatProperty_FormatList: Int { get } var kAudioFormatProperty_ASBDFromESDS: Int { get } var kAudioFormatProperty_ChannelLayoutFromESDS: Int { get } var kAudioFormatProperty_OutputFormatList: Int { get } var kAudioFormatProperty_FirstPlayableFormatFromList: Int { get } var kAudioFormatProperty_Encoders: Int { get } var kAudioFormatProperty_Decoders: Int { get } var kAudioFormatProperty_FormatIsVBR: Int { get } var kAudioFormatProperty_FormatIsExternallyFramed: Int { get } var kAudioFormatProperty_AvailableEncodeBitRates: Int { get } var kAudioFormatProperty_AvailableEncodeSampleRates: Int { get } var kAudioFormatProperty_AvailableEncodeChannelLayoutTags: Int { get } var kAudioFormatProperty_AvailableEncodeNumberChannels: Int { get } var kAudioFormatProperty_ASBDFromMPEGPacket: Int { get } var kAudioFormatProperty_BitmapForLayoutTag: Int { get } var kAudioFormatProperty_MatrixMixMap: Int { get } var kAudioFormatProperty_ChannelMap: Int { get } var kAudioFormatProperty_NumberOfChannelsForLayout: Int { get } var kAudioFormatProperty_ValidateChannelLayout: Int { get } var kAudioFormatProperty_ChannelLayoutForTag: Int { get } var kAudioFormatProperty_TagForChannelLayout: Int { get } var kAudioFormatProperty_ChannelLayoutName: Int { get } var kAudioFormatProperty_ChannelLayoutSimpleName: Int { get } var kAudioFormatProperty_ChannelLayoutForBitmap: Int { get } var kAudioFormatProperty_ChannelName: Int { get } var kAudioFormatProperty_ChannelShortName: Int { get } var kAudioFormatProperty_TagsForNumberOfChannels: Int { get } var kAudioFormatProperty_PanningMatrix: Int { get } var kAudioFormatProperty_BalanceFade: Int { get } var kAudioFormatProperty_ID3TagSize: Int { get } var kAudioFormatProperty_ID3TagToDictionary: Int { get }

    Objective C

    enum { // AudioStreamBasicDescription structure properties kAudioFormatProperty_FormatInfo = 'fmti', kAudioFormatProperty_FormatName = 'fnam', kAudioFormatProperty_EncodeFormatIDs = 'acof', kAudioFormatProperty_DecodeFormatIDs = 'acif', kAudioFormatProperty_FormatList = 'flst', kAudioFormatProperty_ASBDFromESDS = 'essd', kAudioFormatProperty_ChannelLayoutFromESDS = 'escl', kAudioFormatProperty_OutputFormatList = 'ofls', kAudioFormatProperty_Encoders = 'aven', kAudioFormatProperty_Decoders = 'avde', kAudioFormatProperty_FormatIsVBR = 'fvbr', kAudioFormatProperty_FormatIsExternallyFramed = 'fexf', kAudioFormatProperty_AvailableEncodeBitRates = 'aebr', kAudioFormatProperty_AvailableEncodeSampleRates = 'aesr', kAudioFormatProperty_AvailableEncodeChannelLayoutTags = 'aecl', kAudioFormatProperty_AvailableEncodeNumberChannels = 'avnc', kAudioFormatProperty_ASBDFromMPEGPacket = 'admp', // // AudioChannelLayout structure properties kAudioFormatProperty_BitmapForLayoutTag = 'bmtg', kAudioFormatProperty_MatrixMixMap = 'mmap', kAudioFormatProperty_ChannelMap = 'chmp', kAudioFormatProperty_NumberOfChannelsForLayout = 'nchm', kAudioFormatProperty_ValidateChannelLayout = 'vacl', kAudioFormatProperty_ChannelLayoutForTag = 'cmpl', kAudioFormatProperty_TagForChannelLayout = 'cmpt', kAudioFormatProperty_ChannelLayoutName = 'lonm', kAudioFormatProperty_ChannelLayoutSimpleName = 'lsnm', kAudioFormatProperty_ChannelLayoutForBitmap = 'cmpb', kAudioFormatProperty_ChannelName = 'cnam', kAudioFormatProperty_ChannelShortName = 'csnm', kAudioFormatProperty_TagsForNumberOfChannels = 'tagc', kAudioFormatProperty_PanningMatrix = 'panm', kAudioFormatProperty_BalanceFade = 'balf', // // ID3 tag (MP3 metadata ) properties kAudioFormatProperty_ID3TagSize = 'id3s', kAudioFormatProperty_ID3TagToDictionary = 'id3d' };

    Константы

    • kAudioFormatProperty_FormatInfo

      Общая информация о формате. Установите inSpecifier параметр к волшебному cookie, или NULL. На вводе значение свойства AudioStreamBasicDescription структура, которая должна иметь, по крайней мере, mFormatID поле заполнено. На выводе структура будет заполнена как можно больше данная информацию, известную о формате и содержании волшебного cookie (если кому-либо дадут). Если многократные форматы могут быть описаны AudioStreamBasicDescription и связанный волшебный cookie, это свойство возвратит основной формат уровня.

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

    • kAudioFormatProperty_FormatName

      Имя для данного формата. Установите inSpecifier параметр к AudioStreamBasicDescription структура, описывающая формат для выяснения о. Значение является a CFStringRef объект. Вызывающая сторона ответственна за выпуск возвращаемой строки. Для некоторых форматов, таких как линейный PCM, Вы возвращаете описательную строку, например, “16-разрядный, чередованный”.

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

    • kAudioFormatProperty_EncodeFormatIDs

      Массив UInt32 значения, представляющие идентификаторы формата для форматов, которые являются допустимыми выходными форматами для преобразователя. Необходимо установить inSpecifier параметр к NULL.

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

    • kAudioFormatProperty_DecodeFormatIDs

      Массив UInt32 значения, представляющие идентификаторы формата для форматов, которые являются допустимыми форматами ввода для преобразователя. Необходимо установить inSpecifier параметр к NULL.

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

    • kAudioFormatProperty_FormatList

      Список AudioFormatListItem структуры, описывающие форматы аудио, содержавшие в сжатом потоке битов, как описано волшебным cookie. Установите inSpecifier параметр к AudioFormatInfo структура.

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

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

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

    • kAudioFormatProperty_ASBDFromESDS

      AudioStreamBasicDescription структура для данного элементарного потокового дескриптора (ESDS). Установите inSpecifier параметр к ESDS. Если многократные форматы могут быть описаны ESDS, это свойство возвратит основной формат уровня.

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

    • kAudioFormatProperty_ChannelLayoutFromESDS

      AudioChannelLayout структура для данного элементарного потокового дескриптора (ESDS). Установите inSpecifier параметр к ESDS.

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

    • kAudioFormatProperty_OutputFormatList

      Список AudioFormatListItem структуры, описывающие форматы аудио, которые могут быть получены путем декодирования формата, описанного спецификатором. Установите inSpecifier параметр к AudioFormatInfo структура. Как минимум, formatID поле AudioStreamBasicDescription структура должна заполненный. Другие поля могут быть заполнены в. Если нет никакого волшебного cookie, то число каналов и частоты дискретизации должно быть заполнено в.

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

    • kAudioFormatProperty_FirstPlayableFormatFromList

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

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

    • kAudioFormatProperty_Encoders

      Массив AudioClassDescription структуры для всех установленных кодеров для указанного формата аудио. Установите inSpecifier параметр к формату, что Вы интересуетесь, например, 'aac'.

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

    • kAudioFormatProperty_Decoders

      Массив AudioClassDescription структуры для всех установленных декодеров для указанного формата аудио. Установите inSpecifier параметр к формату, что Вы интересуетесь, например, 'aac'.

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

    • kAudioFormatProperty_FormatIsVBR

      Указывает, имеет ли формат переменное число байтов на пакет. Спецификатор AudioStreamBasicDescription структура, описывающая формат для выяснения о. Значение является a UInt32 где ненулевой означает, что форматом является VBR.

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

    • kAudioFormatProperty_FormatIsExternallyFramed

      Указывает, запрашивает ли формат внешнюю информацию структурирования в форме AudioStreamPacketDescription структуры. Спецификатор AudioStreamBasicDescription структура, описывающая формат для выяснения о. Значение является a UInt32 где ненулевой означает, что внешне структурирован формат. Любой формат, имеющий пакеты переменного размера-байтом, требует описаний пакета.

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

    • kAudioFormatProperty_AvailableEncodeBitRates

      Массив AudioValueRange структуры, описывающие все доступные скорости передачи. Спецификатор является a UInt32 идентификатор формата.

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

    • kAudioFormatProperty_AvailableEncodeSampleRates

      Массив AudioValueRange структуры, описывающие все доступные частоты дискретизации. Спецификатор является a UInt32 идентификатор формата.

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

    • kAudioFormatProperty_AvailableEncodeChannelLayoutTags

      Массив AudioChannelLayoutTag значения для формата и числа каналов указаны. Если mChannelsPerFrame поле спецификатора является нулем, тогда все разметки, поддерживаемые форматом, возвращаются. Спецификатор AudioStreamBasicDescription структура с, по крайней мере, mFormatID и mChannelsPerFrame поля установлены.

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

    • kAudioFormatProperty_AvailableEncodeNumberChannels

      Массив UInt32 значения, указывающие число каналов, которые могут быть закодированы. Значение 0xFFFFFFFF указывает, что может быть закодировано любое число каналов. Спецификатор AudioStreamBasicDescription структура с, по крайней мере, mFormatID поле установлено.

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

    • kAudioFormatProperty_ASBDFromMPEGPacket

      AudioStreamBasicDescription структура для данного Пакета MPEG. Спецификатором является Пакет MPEG.

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

    • kAudioFormatProperty_BitmapForLayoutTag

      Битовый массив для AudioChannelLayoutTag значение, если существует тот. Установите inSpecifier параметр к AudioChannelLayoutTag значение, содержащее тег расположения. Значение UInt32 битовый массив. Биты как определяются в Ссылке Типов данных Core Audio. Войти в другое направление, т.е. получить тег расположения для битового массива, использование kAudioFormatProperty_TagForChannelLayout где Ваш тег расположения kAudioChannelLayoutTag_UseChannelBitmap и битовый массив заполнен в.

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

    • kAudioFormatProperty_MatrixMixMap

      Матрица масштабных коэффициентов для преобразования аудио от одного канала отображается на другого стандартным способом, если Вы известны. Иначе, ошибка возвращается. Установите inSpecifier параметр к массиву двух указателей на AudioChannelLayout структуры. Первые точки к входному расположению, второе к выходному расположению. Значение является двумерной матрицей Float32 значения, где первая размерность (строки) является каналом ввода и второй размерностью (столбцы), являются каналом вывода.

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

    • kAudioFormatProperty_ChannelMap

      Массив SInt32 значения для переупорядочения каналов ввода. Установите inSpecifier параметр к массиву двух указателей на AudioChannelLayout структуры. Первые точки к входному расположению, второе к выходному расположению. Длина выходного массива равна числу каналов вывода.

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

    • kAudioFormatProperty_NumberOfChannelsForLayout

      Число допустимых каналов, представленных в AudioChannelLayout структура. Установите inSpecifier параметр к AudioChannelLayout структура Вы хотите исследовать. Если тег расположения указан, значение содержит число каналов для того расположения. Если битовый массив указан, значение содержит число каналов, представленных тем битовым массивом. Если тег расположения kAudioChannelLayoutTag_UseChannelDescriptions, значение содержит число описаний канала.

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

    • kAudioFormatProperty_ValidateChannelLayout

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

      Если тег расположения kAudioChannelLayoutTag_UseChannelDescriptions это возвращает число описаний канала.

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

    • kAudioFormatProperty_ChannelLayoutForTag

      Описания канала для расположения стандартного канала. Установите inSpecifier параметр к AudioChannelLayoutTag значение ( mChannelLayoutTag поле AudioChannelLayout структура) содержащий постоянное расположение. Значение AudioChannelLayout структура. В типичном использовании, AudioChannelLayout может быть допустимым только с определенным AudioChannelLayoutTag (т.е. те разметки предопределили расположения динамика и упорядочивания). Если тег, возвращает ошибку kAudioChannelLayoutTag_UseChannelBitmap.

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

    • kAudioFormatProperty_TagForChannelLayout

      AudioChannelLayoutTag значение для расположения, если существует тот. Установите inSpecifier параметр к AudioChannelLayout структура, содержащая описание расположения. Это может использоваться для сокращения расположения, указанного kAudioChannelLayoutTag_UseChannelDescriptions или kAudioChannelLayoutTag_UseChannelBitmap к известному AudioChannelLayoutTag значение.

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

    • kAudioFormatProperty_ChannelLayoutName

      Имя для определенного расположения канала. Установите inSpecifier параметр к AudioChannelLayout структура, содержащая описание расположения. Значение является a CFStringRef объект. Вызывающая сторона ответственна за выпуск возвращаемой строки.

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

    • kAudioFormatProperty_ChannelLayoutSimpleName

      Упрощенное имя для расположения канала. По сравнению со значением kAudioFormatProperty_ChannelLayoutName свойство, имя в этом свойстве опускает метки канала. Спецификатор AudioChannelLayout структура, содержащая описание расположения. Значение является a CFStringRef объект. Вызывающая сторона ответственна за выпуск возвращаемой строки.

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

    • kAudioFormatProperty_ChannelLayoutForBitmap

      Описания канала для расположения стандартного канала, в форме AudioChannelLayout структура. В некотором использовании, AudioChannelLayout может быть допустимым с mChannelLayoutTag полевой набор к kAudioChannelLayoutTag_UseChannelBitmap значение и растровый набор соответственно. Спецификатор является a UInt32 представление значения он mChannelBitmap поле AudioChannelLayout структура, содержащая расположение.

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

    • kAudioFormatProperty_ChannelName

      Имя для определенного канала. Спецификатор AudioChannelDescription структура, имеющая mChannelLabel поле установлено. Значение является a CFStringRef непрозрачный тип. Вызывающая сторона ответственна за выпуск возвращаемой строки.

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

    • kAudioFormatProperty_ChannelShortName

      Сокращенное имя для определенного канала. Спецификатор AudioChannelDescription структура, имеющая mChannelLabel поле установлено. Значение является a CFStringRef непрозрачный тип. Вызывающая сторона ответственна за выпуск возвращаемой строки.

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

    • kAudioFormatProperty_TagsForNumberOfChannels

      Массив AudioChannelLayoutTag значения для числа каналов указаны. Спецификатор является a UInt32 значение, указывающее число каналов.

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

    • kAudioFormatProperty_PanningMatrix

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

      Спецификатор AudioPanningInfo структура, содержащая Панорамирование Аудио постоянные Режимы и AudioChannelLayout структура, описывающая расположение целевого канала. Панорамируемый источник должен быть моно. Например, для квадратического расположения канала, массив содержит четыре Float32 значения.

      Это свойство поддерживает панорамирование аудио, выполняемое простой установкой уровня каждого канала. Более сложные алгоритмы панорамирования (такие как HRTF или фильтрация расстояния) не могут использовать это свойство. Можно применить значения уровня к микшеру или другому коду обработки. Значения уровня обычно колеблются от 0 до 1, где 0 представляет тишину, и 1 представляет единичное усиление. Для форматов стерео базировался вектор, панорамирование эквивалентно режиму панорамирования равного питания.

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

    • kAudioFormatProperty_BalanceFade

      Массив коэффициентов, каждого a Float32 значение, для применения уехавшего/исправленного аудио баланса и аудио передней стороны/спины исчезает.

      Спецификатор AudioBalanceFade структура. Значения уровня обычно колеблются от 0 до 1, где 0 представляет тишину, и 1 представляет единичное усиление.

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

    • kAudioFormatProperty_ID3TagSize

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

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

    • kAudioFormatProperty_ID3TagToDictionary

      A CFDictionary объект, содержащий пары ключ/значение для кадров в теге ID3. Установите inSpecifier параметр ко всему тегу ID3. Вызывающая сторона должна вызвать CFRelease функция для возвращенного словаря.

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

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

    Объявление

    Swift

    var kAudioFormatProperty_HardwareCodecCapabilities: Int { get }

    Objective C

    enum { kAudioFormatProperty_HardwareCodecCapabilities = 'hwcc', };

    Константы

    • kAudioFormatProperty_HardwareCodecCapabilities

      A UInt32 значение, указывающее число кодеков из указанного списка, который может использоваться, если приложение должно было начать использовать их в указанном порядке. Установите inSpecifier параметр к массиву AudioClassDescription структуры, который описывает ряд того или большего количества аудиокодеков. Если значение свойства совпадает с размером массива в inSpecifier параметр, все указанные кодеки могут использоваться.

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

      Осуждаемый в iOS 8.0.

    Обсуждение

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

    Основанные на аппаратных средствах кодеки могут использоваться только при игре или записи использования Audio Queue Services или использования интерфейсов, таких как Основа AV, которые используют Audio Queue Services. В частности Вы не можете использовать основанные на аппаратных средствах аудиокодеки с OpenAL или при использовании аудиоустройства I/O.

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

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

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

    Следующий пример кода иллюстрирует, как проверить, доступны ли аппаратные средства кодер AAC и аппаратные средства декодер AAC в том порядке очередности:

    • AudioClassDescription requestedCodecs[2] = {
    • {
    • kAudioEncoderComponentType,
    • kAudioFormatAAC,
    • kAppleHardwareAudioCodecManufacturer
    • },
    • {
    • kAudioDecoderComponentType,
    • kAudioFormatAAC,
    • kAppleHardwareAudioCodecManufacturer
    • }
    • };
    • UInt32 successfulCodecs = 0;
    • size = sizeof (successfulCodecs);
    • OSStatus result = AudioFormatGetProperty (
    • kAudioFormatProperty_HardwareCodecCapabilities,
    • requestedCodecs,
    • sizeof (requestedCodecs),
    • &size,
    • &successfulCodecs
    • );
    • switch (successfulCodecs) {
    • case 0:
    • // aac hardware encoder is unavailable. aac hardware decoder availability
    • // is unknown; could ask again for only aac hardware decoding
    • case 1:
    • // aac hardware encoder is available but, while using it, no hardware
    • // decoder is available.
    • case 2:
    • // hardware encoder and decoder are available simultaneously
    • }

    См. также Типы Преобразования Аудиокодека и Типы Производителя и Реализации Аудиокодека.

  • Идентификаторы, отличающие аудио декодеры (которые переводят в линейный формат PCM) от аудио кодеров (которые переводят из линейного формата PCM).

    Объявление

    Swift

    var kAudioDecoderComponentType: Int { get } var kAudioEncoderComponentType: Int { get }

    Objective C

    enum { kAudioDecoderComponentType = 'adec', kAudioEncoderComponentType = 'aenc', };

    Константы

    • kAudioDecoderComponentType

      Кодек, переводящий аудиоданные от некоторого другого формата до линейного PCM. Подтип компонента указывает идентификатор формата стартового формата.

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

    • kAudioEncoderComponentType

      Кодек, переводящий аудиоданные от линейного PCM до некоторого другого формата. Подтип компонента указывает идентификатор формата целевого формата.

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

    Обсуждение

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

  • Идентификаторы для производителей аудиокодека и типов реализации.

    Объявление

    Swift

    var kAppleSoftwareAudioCodecManufacturer: Int { get } var kAppleHardwareAudioCodecManufacturer: Int { get }

    Objective C

    enum { kAppleSoftwareAudioCodecManufacturer = 'appl', kAppleHardwareAudioCodecManufacturer = 'aphw' };

    Константы

    • kAppleSoftwareAudioCodecManufacturer

      Основанный на программном обеспечении аудиокодек предоставляется Apple Inc.

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

    • kAppleHardwareAudioCodecManufacturer

      Основанный на аппаратных средствах аудиокодек предоставляется Apple Inc.

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

    Обсуждение

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

  • Идентификаторы для алгоритмов панорамирования аудио.

    Объявление

    Swift

    var kPanningMode_SoundField: Int { get } var kPanningMode_VectorBasedPanning: Int { get }

    Objective C

    enum { kPanningMode_SoundField = 3, kPanningMode_VectorBasedPanning = 4 };

    Константы

    • kPanningMode_SoundField

      SoundField, панорамирующий алгоритм.

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

    • kPanningMode_VectorBasedPanning

      Основанный на векторе алгоритм панорамирования.

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

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

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

  • Неустановленная ошибка.

    Значение

    'что'

    Описание

    Неустановленная ошибка.

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

  • Указанное свойство не поддерживается.

    Значение

    'опора'

    Описание

    Указанное свойство не поддерживается.

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

  • Значение

    '! siz'

    Описание

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

  • Значение

    '! SPC'

    Описание

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

  • Указанный формат данных не поддерживается.

    Значение

    'fmt?'

    Описание

    Указанный формат данных не поддерживается.

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

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

    Значение

    '! fmt'

    Описание

    Указанный формат данных не является известным форматом.

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