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

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

Разработчик

Ссылка платформы AudioToolbox аудио ссылка служб преобразователя

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

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

Аудио ссылка служб преобразователя

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


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

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


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

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


Swift

import AudioToolbox

Objective C

@import AudioToolbox;

Аудио объекты преобразователя преобразовывают между различными линейными форматами аудио PCM. Они могут также преобразовать между линейным PCM и сжатыми форматами. Поддерживаемые трансформации включают следующее:

  • Битовая глубина PCM

  • Частота дискретизации PCM

  • Плавающая точка PCM к и от целого числа PCM

  • PCM, чередованный к и от PCM, устранен чередование

  • PCM к и от сжатых форматов

Единственный аудио преобразователь может выполнить больше чем одну из перечисленных трансформаций.

Функции

  • Избавляется от аудио объекта преобразователя.

    Объявление

    Swift

    func AudioConverterDispose(_ inAudioConverter: AudioConverterRef) -> OSStatus

    Objective C

    OSStatus AudioConverterDispose ( AudioConverterRef inAudioConverter );

    Параметры

    inAudioConverter

    Аудио преобразователь возражает для избавления.

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

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

    Обсуждение

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioConverterNew(_ inSourceFormat: UnsafePointer<AudioStreamBasicDescription>, _ inDestinationFormat: UnsafePointer<AudioStreamBasicDescription>, _ outAudioConverter: UnsafeMutablePointer<AudioConverterRef>) -> OSStatus

    Objective C

    OSStatus AudioConverterNew ( const AudioStreamBasicDescription *inSourceFormat, const AudioStreamBasicDescription *inDestinationFormat, AudioConverterRef *outAudioConverter );

    Параметры

    inSourceFormat

    Формат исходного аудио, которое будет преобразовано.

    inDestinationFormat

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

    outAudioConverter

    По возврату, новому аудио объекту преобразователя.

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

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

    Обсуждение

    Для пары линейных форматов PCM поддерживаются следующие преобразования:

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

    • Преобразование частоты дискретизации.

    • Чередование и устранение чередования, когда формат ввода и вывода (mFormatFlags & kAudioFormatFlagIsNonInterleaved) значения не соответствуют.

    • Преобразование между любой парой следующих форматов:

      • 8-разрядное целое число, подписанное или без знака.

      • 16-, 24-, или 32-разрядное целое число, большое - или прямой порядок байтов. Другие интегральные битовые глубины, если высоко выровнено и неупаковано, также поддерживаются

      • 32-и 64-разрядная плавающая точка, большая - или прямой порядок байтов.

    Кодирование и декодирование между линейным PCM и сжатыми форматами поддерживаются. Функции в Audio Format Services (AudioToolbox/AudioFormat.h) возвратите информацию о форматах, поддерживаемых в системе. При использовании кодека можно использовать, любой поддерживал формат PCM. Объект преобразователя выполняет любое необходимое дополнительное преобразование между Вашим форматом PCM и тем, создаваемым или использованным кодеком.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Создает новый аудио объект преобразователя использование указанного кодека.

    Объявление

    Swift

    func AudioConverterNewSpecific(_ inSourceFormat: UnsafePointer<AudioStreamBasicDescription>, _ inDestinationFormat: UnsafePointer<AudioStreamBasicDescription>, _ inNumberClassDescriptions: UInt32, _ inClassDescriptions: UnsafePointer<AudioClassDescription>, _ outAudioConverter: UnsafeMutablePointer<AudioConverterRef>) -> OSStatus

    Objective C

    OSStatus AudioConverterNewSpecific ( const AudioStreamBasicDescription *inSourceFormat, const AudioStreamBasicDescription *inDestinationFormat, UInt32 inNumberClassDescriptions, const AudioClassDescription *inClassDescriptions, AudioConverterRef *outAudioConverter );

    Параметры

    inSourceFormat

    Формат исходного аудио, которое будет преобразовано.

    inDestinationFormat

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

    inNumberClassDescriptions

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

    inClassDescriptions

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

    outAudioConverter

    По возврату, новому аудио объекту преобразователя.

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

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

    Обсуждение

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Сбрасывает аудио объект преобразователя, очищаясь и сбрасывая его буферы.

    Объявление

    Swift

    func AudioConverterReset(_ inAudioConverter: AudioConverterRef) -> OSStatus

    Objective C

    OSStatus AudioConverterReset ( AudioConverterRef inAudioConverter );

    Параметры

    inAudioConverter

    Аудио преобразователь возражает для сброса.

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

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

    Обсуждение

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioConverterGetProperty(_ inAudioConverter: AudioConverterRef, _ inPropertyID: AudioConverterPropertyID, _ ioPropertyDataSize: UnsafeMutablePointer<UInt32>, _ outPropertyData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioConverterGetProperty ( AudioConverterRef inAudioConverter, AudioConverterPropertyID inPropertyID, UInt32 *ioPropertyDataSize, void *outPropertyData );

    Параметры

    inAudioConverter

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

    inPropertyID

    Свойство, значение которого Вы хотите.

    ioPropertyDataSize

    На вводе, размере памяти, на которую указывают outPropertyData параметр. На выводе, размере значения свойства.

    outPropertyData

    На выводе значение свойства Вы хотели добраться.

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

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

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

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

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioConverterGetPropertyInfo(_ inAudioConverter: AudioConverterRef, _ inPropertyID: AudioConverterPropertyID, _ outSize: UnsafeMutablePointer<UInt32>, _ outWritable: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus AudioConverterGetPropertyInfo ( AudioConverterRef inAudioConverter, AudioConverterPropertyID inPropertyID, UInt32 *outSize, Boolean *outWritable );

    Параметры

    inAudioConverter

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

    inPropertyID

    Свойство Вы хотите информацию о.

    outSize

    На выводе, размере значения свойства в байтах. Может быть NULL на выводе.

    outWritable

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

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

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioConverterSetProperty(_ inAudioConverter: AudioConverterRef, _ inPropertyID: AudioConverterPropertyID, _ inPropertyDataSize: UInt32, _ inPropertyData: UnsafePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioConverterSetProperty ( AudioConverterRef inAudioConverter, AudioConverterPropertyID inPropertyID, UInt32 inPropertyDataSize, const void *inPropertyData );

    Параметры

    inAudioConverter

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

    inPropertyID

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

    inPropertyDataSize

    Размер, в байтах, значения свойства.

    inPropertyData

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

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

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

    Обсуждение

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

    • SInt32 channelMap[2] = {0, 0}; // array size should match the number of output channels
    • AudioConverterSetProperty (
    • theConverter,
    • kAudioConverterChannelMap,
    • sizeof(channelMap),
    • channelMap
    • );

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Преобразовывает аудиоданные от одного линейного формата PCM до другого.

    Объявление

    Swift

    func AudioConverterConvertBuffer(_ inAudioConverter: AudioConverterRef, _ inInputDataSize: UInt32, _ inInputData: UnsafePointer<Void>, _ ioOutputDataSize: UnsafeMutablePointer<UInt32>, _ outOutputData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioConverterConvertBuffer ( AudioConverterRef inAudioConverter, UInt32 inInputDataSize, const void *inInputData, UInt32 *ioOutputDataSize, void *outOutputData );

    Параметры

    inAudioConverter

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

    inInputDataSize

    Размер, в байтах, входного буфера аудиоданных.

    inInputData

    Аудиоданные для преобразования.

    ioOutputDataSize

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

    outOutputData

    На выводе, преобразованных аудиоданных.

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

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

    Обсуждение

    Эта функция для особого случая преобразования от одного линейного формата PCM до другого. Эта функция не может выполнить преобразования частоты дискретизации и не может использоваться для преобразования в или от наиболее сжатых форматов. Для выполнения этих типов преобразования использовать AudioConverterFillComplexBuffer вместо этого.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioConverterFillComplexBuffer(_ inAudioConverter: AudioConverterRef, _ inInputDataProc: AudioConverterComplexInputDataProc, _ inInputDataProcUserData: UnsafeMutablePointer<Void>, _ ioOutputDataPacketSize: UnsafeMutablePointer<UInt32>, _ outOutputData: UnsafeMutablePointer<AudioBufferList>, _ outPacketDescription: UnsafeMutablePointer<AudioStreamPacketDescription>) -> OSStatus

    Objective C

    OSStatus AudioConverterFillComplexBuffer ( AudioConverterRef inAudioConverter, AudioConverterComplexInputDataProc inInputDataProc, void *inInputDataProcUserData, UInt32 *ioOutputDataPacketSize, AudioBufferList *outOutputData, AudioStreamPacketDescription *outPacketDescription );

    Параметры

    inAudioConverter

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

    inInputDataProc

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

    inInputDataProcUserData

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

    ioOutputDataPacketSize

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

    outOutputData

    На выводе, преобразованных аудиоданных.

    outPacketDescription

    На вводе, должен указать на блок памяти, способной к содержанию числа описаний пакета, указанных в ioOutputDataPacketSize параметр. (См. Ссылку Audio Format Services для функций, позволяющих Вам определить, использует ли формат аудио описания пакета). Если нет NULL на выводе и если выходной формат аудио преобразователя использует описания пакета, то этот параметр содержит массив описаний пакета.

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

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

    Обсуждение

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

    См. также

    AudioConverterConvertBuffer

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

    Объявление

    Swift

    func AudioConverterConvertComplexBuffer(_ inAudioConverter: AudioConverterRef, _ inNumberPCMFrames: UInt32, _ inInputData: UnsafePointer<AudioBufferList>, _ outOutputData: UnsafeMutablePointer<AudioBufferList>) -> OSStatus

    Objective C

    OSStatus AudioConverterConvertComplexBuffer ( AudioConverterRef inAudioConverter, UInt32 inNumberPCMFrames, const AudioBufferList *inInputData, AudioBufferList *outOutputData );

    Параметры

    inAudioConverter

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

    inNumberPCMFrames

    Число линейного PCM структурирует для преобразования.

    inInputData

    Исходное аудио буферизует список.

    outOutputData

    Целевое аудио буферизует список.

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

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

    Обсуждение

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

  • Снабжает входными данными к AudioConverterFillComplexBuffer функция.

    Объявление

    Swift

    typealias AudioConverterComplexInputDataProc = CFunctionPointer<((AudioConverterRef, UnsafeMutablePointer<UInt32>, UnsafeMutablePointer<AudioBufferList>, UnsafeMutablePointer<UnsafeMutablePointer<AudioStreamPacketDescription>>, UnsafeMutablePointer<Void>) -> OSStatus)>

    Objective C

    typedef OSStatus (*AudioConverterComplexInputDataProc) ( AudioConverterRef inAudioConverter, UInt32 *ioNumberDataPackets, AudioBufferList *ioData, AudioStreamPacketDescription **outDataPacketDescription, void *inUserData );

    Параметры

    inAudioConverter

    Аудио преобразователь возражает, что вызвал этот обратный вызов для получения новых данных для преобразования.

    ioNumberDataPackets

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

    ioData

    На выводе, точка поля AudioBufferList структура, переданная этим параметром, к аудиоданным, Вы обеспечиваете, чтобы быть преобразованными.

    outDataPacketDescription

    Если нет NULL на вводе аудио преобразователь ожидает, что этот обратный вызов обеспечит массив AudioStreamPacketDescription структуры на выводе, один для каждого пакета аудиоданных Вы обеспечиваете в ioData параметр.

    inUserData

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

    Обсуждение

    Этот обратный вызов предоставляет входные аудиоданные к AudioConverterFillComplexBuffer функция.

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

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

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Осуждаемый. Использовать AudioConverterFillComplexBuffer вместо этого.

    Объявление

    Swift

    typealias AudioConverterInputDataProc = CFunctionPointer<((AudioConverterRef, UnsafeMutablePointer<UInt32>, UnsafeMutablePointer<UnsafeMutablePointer<Void>>, UnsafeMutablePointer<Void>) -> OSStatus)>

    Objective C

    typedef OSStatus (*AudioConverterInputDataProc) ( AudioConverterRef inAudioConverter, UInt32 *ioDataSize, void **outData, void *inUserData );

    Обсуждение

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Типы данных

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

    Объявление

    Swift

    struct AudioConverterPrimeInfo { var leadingFrames: UInt32 var trailingFrames: UInt32 init() init(leadingFrames leadingFrames: UInt32, trailingFrames trailingFrames: UInt32) }

    Objective C

    struct AudioConverterPrimeInfo { UInt32 leadingFrames; UInt32 trailingFrames; }; typedef struct AudioConverterPrimeInfo AudioConverterPrimeInfo;

    Поля

    leadingFrames

    Число ведущих кадров входных аудиоданных, требуемых для преобразователя выполнять высококачественное преобразование. Это число определяется входным форматом аудио. Ведущие кадры предшествуют, своевременно, желаемому начальному входному кадру. При использовании kConverterPrimeMethod_Pre значение для kAudioConverterPrimeMethod когда Ваш входной обратный вызов сначала вызывается, свойство, Ваше приложение должно обеспечить конкретное количество продвижения кадров от входной поток. Если никакие ведущие кадры не доступны (потому что, например, желаемый кадр запуска в самом начале доступного аудио), то Ваш обратный вызов должен обеспечить требуемое число тихих (0- оцененный) ведущие кадры. Ваш обратный вызов не должен обеспечивать значение для leadingFrames поле, когда kAudioConverterPrimeMethod значение свойства kConverterPrimeMethod_Normal или kConverterPrimeMethod_None.

    trailingFrames

    Число запаздывающих кадров входных аудиоданных, требуемых преобразователем выполнять высококачественное преобразование. Запаздывающие кадры следуют, своевременно, за ожидаемым заключительным входным кадром. Ваше приложение должно быть подготовлено обеспечить это число дополнительных входных кадров кроме тех случаев, когда использование kConverterPrimeMethod_None значение для kAudioConverterPrimeMethod свойство. Если никакие дополнительные кадры не доступны во входном потоке (потому что, например, желаемый кадр конца в конце аудиофайла), то аудио преобразователь синтезирует достаточное число тихих (0- оцененный) запаздывание кадров.

    Обсуждение

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

    Вы указываете ведущие или запаздывающие кадры в leadingFrames и trailingFrames поля AudioConverterPrimeInfo структура. Вы тогда конфигурируете свой аудио преобразователь путем вызова AudioConverterSetProperty функция для kAudioConverterPrimeInfo свойство, указывая эту структуру как значение свойства. Вы также указываете к преобразователю который опция воспламенения использовать путем установки kAudioConverterPrimeMethod свойство.

    При конфигурировании аудио преобразователя путем указания продвижения или запаздывающих кадров Вы изменяете поведение AudioConverterFillComplexBuffer функция. Самый первый вызов к той функции или первый вызов после вызова AudioConverterReset, когда объект преобразователя вызывает Ваш, результаты в запросе на дополнительный ввод структурируют AudioConverterComplexInputDataProc обратный вызов. Число кадров воспламенения, которые требуют, зависит от опции воспламенения, которую Вы указываете, как показано в Таблице 1.

    Опции Table 1Priming и кадры воспламенения

    Опция Priming

    Число (приблизительных) кадров воспламенения

    kConverterPrimeMethod_Pre

    leadingFrames + trailingFrames

    kConverterPrimeMethod_Normal

    trailingFrames

    kConverterPrimeMethod_None

    0

    Опция воспламенения по умолчанию - указанный kConverterPrimeMethod_Normal постоянный. Эта опция не требует никакого предварительного поиска входного потока. Это генерирует trailingFrames из задержки при выводе.

    kConverterPrimeMethod_Pre опция воспламенения приводит к первому вызову Вашего обратного вызова, просящего приблизительно leadingFrames + trailingFrames кадры воспламенения. Задержка при выводе будет соответствовать, приблизительно, к этой продолжительности.

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

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

    Доступность

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

  • Ссылка на аудио объект преобразователя.

    Объявление

    Swift

    typealias AudioConverterRef = COpaquePointer

    Objective C

    typedef struct OpaqueAudioConverter *AudioConverterRef;

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    typealias AudioConverterPropertyID = UInt32

    Objective C

    typedef UInt32 AudioConverterPropertyID;

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Константы

  • Аудио свойства преобразователя, используемые с AudioConverterGetPropertyInfo, AudioConverterGetProperty, и AudioConverterSetProperty функции.

    Объявление

    Swift

    var kAudioConverterPropertyMinimumInputBufferSize: Int { get } var kAudioConverterPropertyMinimumOutputBufferSize: Int { get } var kAudioConverterPropertyMaximumInputBufferSize: Int { get } var kAudioConverterPropertyMaximumInputPacketSize: Int { get } var kAudioConverterPropertyMaximumOutputPacketSize: Int { get } var kAudioConverterPropertyCalculateInputBufferSize: Int { get } var kAudioConverterPropertyCalculateOutputBufferSize: Int { get } var kAudioConverterPropertyInputCodecParameters: Int { get } var kAudioConverterPropertyOutputCodecParameters: Int { get } var kAudioConverterSampleRateConverterAlgorithm: Int { get } var kAudioConverterSampleRateConverterComplexity: Int { get } var kAudioConverterSampleRateConverterQuality: Int { get } var kAudioConverterSampleRateConverterInitialPhase: Int { get } var kAudioConverterCodecQuality: Int { get } var kAudioConverterPrimeMethod: Int { get } var kAudioConverterPrimeInfo: Int { get } var kAudioConverterChannelMap: Int { get } var kAudioConverterDecompressionMagicCookie: Int { get } var kAudioConverterCompressionMagicCookie: Int { get } var kAudioConverterEncodeBitRate: Int { get } var kAudioConverterEncodeAdjustableSampleRate: Int { get } var kAudioConverterInputChannelLayout: Int { get } var kAudioConverterOutputChannelLayout: Int { get } var kAudioConverterApplicableEncodeBitRates: Int { get } var kAudioConverterAvailableEncodeBitRates: Int { get } var kAudioConverterApplicableEncodeSampleRates: Int { get } var kAudioConverterAvailableEncodeSampleRates: Int { get } var kAudioConverterAvailableEncodeChannelLayoutTags: Int { get } var kAudioConverterCurrentOutputStreamDescription: Int { get } var kAudioConverterCurrentInputStreamDescription: Int { get } var kAudioConverterPropertySettings: Int { get } var kAudioConverterPropertyBitDepthHint: Int { get } var kAudioConverterPropertyFormatList: Int { get } var kAudioConverterPropertyCanResumeFromInterruption: Int { get }

    Objective C

    enum { kAudioConverterPropertyMinimumInputBufferSize = 'mibs', kAudioConverterPropertyMinimumOutputBufferSize = 'mobs', kAudioConverterPropertyMaximumInputBufferSize = 'xibs', kAudioConverterPropertyMaximumInputPacketSize = 'xips', kAudioConverterPropertyMaximumOutputPacketSize = 'xops', kAudioConverterPropertyCalculateInputBufferSize = 'cibs', kAudioConverterPropertyCalculateOutputBufferSize = 'cobs', kAudioConverterPropertyInputCodecParameters = 'icdp', kAudioConverterPropertyOutputCodecParameters = 'ocdp', kAudioConverterSampleRateConverterAlgorithm = 'srci', kAudioConverterSampleRateConverterComplexity = 'srca', kAudioConverterSampleRateConverterQuality = 'srcq', kAudioConverterSampleRateConverterInitialPhase = 'srcp', kAudioConverterCodecQuality = 'cdqu', kAudioConverterPrimeMethod = 'prmm', kAudioConverterPrimeInfo = 'prim', kAudioConverterChannelMap = 'chmp', kAudioConverterDecompressionMagicCookie = 'dmgc', kAudioConverterCompressionMagicCookie = 'cmgc', kAudioConverterEncodeBitRate = 'brat', kAudioConverterEncodeAdjustableSampleRate = 'ajsr', kAudioConverterInputChannelLayout = 'icl ', kAudioConverterOutputChannelLayout = 'ocl ', kAudioConverterApplicableEncodeBitRates = 'aebr', kAudioConverterAvailableEncodeBitRates = 'vebr', kAudioConverterApplicableEncodeSampleRates = 'aesr', kAudioConverterAvailableEncodeSampleRates = 'vesr', kAudioConverterAvailableEncodeChannelLayoutTags = 'aecl', kAudioConverterCurrentOutputStreamDescription = 'acod', kAudioConverterCurrentInputStreamDescription = 'acid', kAudioConverterPropertySettings = 'acps', kAudioConverterPropertyBitDepthHint = 'acbd', kAudioConverterPropertyFormatList = 'flst' kAudioConverterPropertyCanResumeFromInterruption = 'crfi' };

    Константы

    • kAudioConverterPropertyMinimumInputBufferSize

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

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

    • kAudioConverterPropertyMinimumOutputBufferSize

      A UInt32 значение, указывающее размер, в байтах, самого маленького буфера выходных данных, которые могут быть предоставлены AudioConverterFillComplexBuffer или как вывод к AudioConverterConvertBuffer

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

    • kAudioConverterPropertyMaximumInputBufferSize

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

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

    • kAudioConverterPropertyMaximumInputPacketSize

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

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

    • kAudioConverterPropertyMaximumOutputPacketSize

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

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

    • kAudioConverterPropertyCalculateInputBufferSize

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

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

    • kAudioConverterPropertyCalculateOutputBufferSize

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

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

    • kAudioConverterPropertyInputCodecParameters

      Значение этого свойства варьируется от формата до формата и считается частным к формату. Это обрабатывается как буфер невведенных данных.

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

    • kAudioConverterPropertyOutputCodecParameters

      Значение этого свойства варьируется от формата до формата и считается частным к формату. Это обрабатывается как буфер невведенных данных.

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

    • kAudioConverterSampleRateConverterAlgorithm

      Осуждаемый. Использовать kAudioConverterSampleRateConverterComplexity вместо этого.

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

    • kAudioConverterSampleRateConverterComplexity

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

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

    • kAudioConverterSampleRateConverterQuality

      Качество рендеринга преобразователя частоты дискретизации, указанное использование константы от Качественных Идентификаторов Преобразования Частоты дискретизации. См. также kAudioConverterSampleRateConverterComplexity.

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

    • kAudioConverterSampleRateConverterInitialPhase

      A Float64 оцените равный 0.0.

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

    • kAudioConverterCodecQuality

      Качество рендеринга кодека. A UInt32 значение.

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

    • kAudioConverterPrimeMethod

      Метод воспламенения, обычно для преобразования частоты дискретизации. Посмотрите AudioConverterPrimeInfo и константы воспламенения преобразователя.

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

    • kAudioConverterPrimeInfo

      AudioConverterPrimeInfo структура.

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

    • kAudioConverterChannelMap

      Массив SInt32 значения, указывающие отображение ввода к каналу вывода.

      Размер массива является числом каналов вывода. Каждый элемент указывает, с помощью индекса на основе 0, какие данные канала ввода направляются к тому каналу вывода. Значение -1 указывает, что никакой канал ввода не должен быть направлен к тому каналу вывода.

      Поведение по умолчанию следующие. Учитывая, что In = число каналов ввода и Out = число каналов вывода. Когда In > Out, первое Out вводы направляются к первому Out выводы и остающиеся вводы отбрасываются. Когда Out > In, первое In вводы направляются к первому Out выводы и остающиеся выводы обнуляются.

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

    • kAudioConverterDecompressionMagicCookie

      A void* значение, указывающее на память, установленную вызывающей стороной. Это свойство требуется некоторыми форматами аудиоданных для распаковки входных данных.

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

    • kAudioConverterCompressionMagicCookie

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

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

    • kAudioConverterEncodeBitRate

      A UInt32 значение, содержащее число бит в секунду для стремления при кодировании данных. Некоторые декодеры также позволяют Вам запрашивать это свойство для обнаружения скорости передачи.

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

    • kAudioConverterEncodeAdjustableSampleRate

      A Float64 значение, указывающее выходную частоту дискретизации.

      Для кодирования аудио преобразователей a) с указанной выходной частотой дискретизации 0 и b), которые способны к выполнению преобразования частоты дискретизации на входных данных, это свойство, обеспечивают способ установить выходную частоту дискретизации.

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

    • kAudioConverterInputChannelLayout

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

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

    • kAudioConverterOutputChannelLayout

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

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

    • kAudioConverterApplicableEncodeBitRates

      Массив AudioValueRange структуры, который описывает применимые скорости передачи на основе текущих настроек.

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

    • kAudioConverterAvailableEncodeBitRates

      Массив AudioValueRange структуры, который описывает доступные скорости передачи на основе формата ввода. Можно определить использование доступных скоростей передачи Audio Format Services.

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

    • kAudioConverterApplicableEncodeSampleRates

      Массив AudioValueRange структуры, который описывает применимые частоты дискретизации на основе текущих настроек.

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

    • kAudioConverterAvailableEncodeSampleRates

      Массив AudioValueRange структуры, который описывает доступные частоты дискретизации на основе формата ввода. Можно определить доступное использование частот дискретизации Audio Format Services.

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

    • kAudioConverterAvailableEncodeChannelLayoutTags

      Массив AudioChannelLayoutTag значения для формата и числа каналов указаны в формате ввода кодера.

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

    • kAudioConverterCurrentOutputStreamDescription

      Текущий, полностью указанный вывод AudioStreamBasicDescription структура.

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

    • kAudioConverterCurrentInputStreamDescription

      Текущий, полностью указанный ввод AudioStreamBasicDescription структура.

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

    • kAudioConverterPropertySettings

      Массив (типа CFArray) из настроек свойства для преобразователей.

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

    • kAudioConverterPropertyBitDepthHint

      A UInt32 значение, определяющее исходную битовую глубину сохранять.

      Это - подсказка, используемая некоторыми кодерами, такими как Apple кодер без потерь. Преобразователь обычно пытается сохранить как можно больше битов. Кодер без потерь делает плохо, если больше битов предоставляется, чем желательно в выводе.

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

    • kAudioConverterPropertyFormatList

      Массив AudioFormatListItem структуры, который описывает набор форматов данных, произведенных к концу кодера аудио преобразователя.

      Если ioPropertyDataSize параметр AudioConverterGetProperty функция указывает что размер данных в outPropertyData параметр sizeof (AudioFormatListItem), тогда только лучший формат возвращается. Это свойство может использоваться, например, для обнаружения всех форматов данных, произведенных Высокоэффективным кодером версии 2 AAC (указанный kAudioFormatMPEG4AAC_HE_V2 постоянный).

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

    • kAudioConverterPropertyCanResumeFromInterruption

      Указывает ли базовое возобновление поддержки кодеков обработки после прерывания звука. Только для чтения UInt32 значение.

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

      Если свойство не реализовано (когда, вызов к AudioConverterGetProperty функция для этого свойства возвращает ошибку), тогда кодек не является аппаратным кодеком.

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

  • Константы, используемые с kAudioConverterPrimeMethod свойство.

    Объявление

    Swift

    var kConverterPrimeMethod_Pre: Int { get } var kConverterPrimeMethod_Normal: Int { get } var kConverterPrimeMethod_None: Int { get }

    Objective C

    enum { kConverterPrimeMethod_Pre = 0, kConverterPrimeMethod_Normal = 1, kConverterPrimeMethod_None = 2 };

    Константы

    • kConverterPrimeMethod_Pre

      Главный с leading + trailing входные кадры.

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

    • kConverterPrimeMethod_Normal

      Главный с trailing кадры только, для нулевой задержки. Ведущие кадры, как предполагается, являются тишиной.

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

    • kConverterPrimeMethod_None

      Акты в режиме «задержки». Продвижение и запаздывающие кадры, как оба предполагается, являются тишиной.

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

  • Спецификаторы по качеству преобразования частоты дискретизации, используемому для kAudioConverterSampleRateConverterQuality свойство.

    Объявление

    Swift

    var kAudioConverterQuality_Max: Int { get } var kAudioConverterQuality_High: Int { get } var kAudioConverterQuality_Medium: Int { get } var kAudioConverterQuality_Low: Int { get } var kAudioConverterQuality_Min: Int { get }

    Objective C

    enum { kAudioConverterQuality_Max = 0x7F, kAudioConverterQuality_High = 0x60, kAudioConverterQuality_Medium = 0x40, kAudioConverterQuality_Low = 0x20, kAudioConverterQuality_Min = 0 };

    Константы

    • kAudioConverterQuality_Max

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

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

    • kAudioConverterQuality_High

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

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

    • kAudioConverterQuality_Medium

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

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

    • kAudioConverterQuality_Low

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

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

    • kAudioConverterQuality_Min

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

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

    Обсуждение

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

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

    Объявление

    Swift

    var kAudioConverterSampleRateConverterComplexity_Linear: Int { get } var kAudioConverterSampleRateConverterComplexity_Normal: Int { get } var kAudioConverterSampleRateConverterComplexity_Mastering: Int { get }

    Objective C

    enum { kAudioConverterSampleRateConverterComplexity_Linear = 'line', kAudioConverterSampleRateConverterComplexity_Normal = 'norm', kAudioConverterSampleRateConverterComplexity_Mastering = 'bats', };

    Константы

    • kAudioConverterSampleRateConverterComplexity_Linear

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

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

    • kAudioConverterSampleRateConverterComplexity_Normal

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

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

    • kAudioConverterSampleRateConverterComplexity_Mastering

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

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

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

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

  • Значение

    'fmt?'

    Описание

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

  • Значение

    0x6F703F3F

    Описание

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

  • Значение

    'опора'

    Описание

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

  • Значение

    'insz'

    Описание

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

  • Размер байта не является целочисленным кратным числом типа телосложения.

    Значение

    'otsz'

    Описание

    Размер байта не является целочисленным кратным числом типа телосложения.

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

  • Значение

    'что'

    Описание

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

  • Значение

    '! siz'

    Описание

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

  • Значение

    '! pkd'

    Описание

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

  • Значение

    '! isr'

    Описание

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

  • Значение

    ! osr'

    Описание

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

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

    Значение

    'hwiu'

    Описание

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

    При получении этой ошибки Ваше приложение должно прекратить вызывать AudioConverterFillComplexBuffer. Можно проверить значение kAudioConverterPropertyCanResumeFromInterruption свойство, чтобы определить, используете ли преобразователь Вы, может продолжить обрабатывать после прерывания. Если так, затем ожидайте законченного прерыванием вызова от Аудио Сеансовых служб, повторно активируйте аудио сеанс, и наконец продолжите использовать кодек.

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

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

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

    Значение

    'перманент'

    Описание

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

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