Аудио ссылка служб преобразователя
Аудио объекты преобразователя преобразовывают между различными линейными форматами аудио PCM. Они могут также преобразовать между линейным PCM и сжатыми форматами. Поддерживаемые трансформации включают следующее:
Битовая глубина PCM
Частота дискретизации PCM
Плавающая точка PCM к и от целого числа PCM
PCM, чередованный к и от PCM, устранен чередование
PCM к и от сжатых форматов
Единственный аудио преобразователь может выполнить больше чем одну из перечисленных трансформаций.
-
Избавляется от аудио объекта преобразователя.
Объявление
Swift
func AudioConverterDispose(_
inAudioConverter
: AudioConverterRef) -> OSStatusObjective C
OSStatus AudioConverterDispose ( AudioConverterRef inAudioConverter );
Параметры
inAudioConverter
Аудио преобразователь возражает для избавления.
Возвращаемое значение
Код результата.
Обсуждение
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.1 и позже.
-
Создает новый аудио преобразователь, основанный на объектах на указанных форматах аудио.
Объявление
Swift
func AudioConverterNew(_
inSourceFormat
: UnsafePointer<AudioStreamBasicDescription>, _inDestinationFormat
: UnsafePointer<AudioStreamBasicDescription>, _outAudioConverter
: UnsafeMutablePointer<AudioConverterRef>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.1 и позже.
-
Создает новый аудио объект преобразователя использование указанного кодека.
Объявление
Swift
func AudioConverterNewSpecific(_
inSourceFormat
: UnsafePointer<AudioStreamBasicDescription>, _inDestinationFormat
: UnsafePointer<AudioStreamBasicDescription>, _inNumberClassDescriptions
: UInt32, _inClassDescriptions
: UnsafePointer<AudioClassDescription>, _outAudioConverter
: UnsafeMutablePointer<AudioConverterRef>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Сбрасывает аудио объект преобразователя, очищаясь и сбрасывая его буферы.
Объявление
Swift
func AudioConverterReset(_
inAudioConverter
: AudioConverterRef) -> OSStatusObjective C
OSStatus AudioConverterReset ( AudioConverterRef inAudioConverter );
Параметры
inAudioConverter
Аудио преобразователь возражает для сброса.
Возвращаемое значение
Код результата.
Обсуждение
Вызовите эту функцию после разрыва в исходном аудиопотоке, предоставленном для преобразователя.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.1 и позже.
-
Получает аудио значение свойства преобразователя.
Объявление
Swift
func AudioConverterGetProperty(_
inAudioConverter
: AudioConverterRef, _inPropertyID
: AudioConverterPropertyID, _ioPropertyDataSize
: UnsafeMutablePointer<UInt32>, _outPropertyData
: UnsafeMutablePointer<Void>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.1 и позже.
-
Получает информацию об аудио свойстве преобразователя.
Объявление
Swift
func AudioConverterGetPropertyInfo(_
inAudioConverter
: AudioConverterRef, _inPropertyID
: AudioConverterPropertyID, _outSize
: UnsafeMutablePointer<UInt32>, _outWritable
: UnsafeMutablePointer<Boolean>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.1 и позже.
-
Устанавливает значение аудио свойства объекта преобразователя.
Объявление
Swift
func AudioConverterSetProperty(_
inAudioConverter
: AudioConverterRef, _inPropertyID
: AudioConverterPropertyID, _inPropertyDataSize
: UInt32, _inPropertyData
: UnsafePointer<Void>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.1 и позже.
-
Преобразовывает аудиоданные от одного линейного формата PCM до другого.
Объявление
Swift
func AudioConverterConvertBuffer(_
inAudioConverter
: AudioConverterRef, _inInputDataSize
: UInt32, _inInputData
: UnsafePointer<Void>, _ioOutputDataSize
: UnsafeMutablePointer<UInt32>, _outOutputData
: UnsafeMutablePointer<Void>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.1 и позже.
-
Преобразовывает аудиоданные, предоставленные функцией обратного вызова, поддерживая нечередующийся и форматы packetized.
Объявление
Swift
func AudioConverterFillComplexBuffer(_
inAudioConverter
: AudioConverterRef, _inInputDataProc
: AudioConverterComplexInputDataProc, _inInputDataProcUserData
: UnsafeMutablePointer<Void>, _ioOutputDataPacketSize
: UnsafeMutablePointer<UInt32>, _outOutputData
: UnsafeMutablePointer<AudioBufferList>, _outPacketDescription
: UnsafeMutablePointer<AudioStreamPacketDescription>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.2 и позже.
См. также
-
Преобразовывает аудиоданные от одного линейного формата PCM до другого, где оба используют ту же частоту дискретизации.
Объявление
Swift
func AudioConverterConvertComplexBuffer(_
inAudioConverter
: AudioConverterRef, _inNumberPCMFrames
: UInt32, _inInputData
: UnsafePointer<AudioBufferList>, _outOutputData
: UnsafeMutablePointer<AudioBufferList>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.7 и позже.
-
AudioConverterFillBuffer AudioConverterFillBuffer
(OS X v10.5)Оператор осуждения
Осуждаемый. Использовать
AudioConverterFillComplexBuffer
вместо этого.Объявление
Objective C
OSStatus AudioConverterFillBuffer ( AudioConverterRef inAudioConverter, AudioConverterInputDataProc inInputDataProc, void *inInputDataProcUserData, UInt32 *ioOutputDataSize, void *outOutputData );
Параметры
inAudioConverter
Аудио преобразователь для использования для преобразования формата.
inInputDataProc
Функция обратного вызова, предоставляющая аудиоданные для преобразования. Этот обратный вызов неоднократно вызывается, поскольку преобразователь готов к новым входным данным.
inInputDataProcUserData
Пользовательские данные для использования Вашим приложением при получении вызова обратного вызова.
ioOutputDataSize
На вводе, размере, в байтах, буфера, доступного для преобразованных данных. На выводе, числе байтов, записанных в буфер вывода (указанный
outOutputData
параметр).outOutputData
На выводе, преобразованных аудиоданных.
Возвращаемое значение
Код результата.
Обсуждение
Преобразовывает аудиоданные, предоставленные функцией обратного вызова.
Специальные замечания
Эта функция осуждается. Используйте
AudioConverterFillComplexBuffer
функция вместо этого.Оператор импорта
Objective C
@import AudioToolbox;
Доступность
Доступный в OS X v10.1 и позже.
Осуждаемый в OS X v10.5.
-
Снабжает входными данными к
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
Доступность
Доступный в OS X v10.2 и позже.
-
Осуждаемый. Использовать
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
Доступность
Доступный в OS X v10.1 и позже.
-
Указывает информацию о воспламенении для аудио преобразователя, используемого в качестве значения для
kAudioConverterPrimeInfo
свойство.Объявление
Swift
struct AudioConverterPrimeInfo { var leadingFrames: UInt32 var 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
опция может быть предпочтительной для приложений реального времени. Это вызвано тем, что Ваше приложение может быть в состоянии обеспечить кадры воспламенения путем предварительно загружения их от диска или памяти, предотвращения задержки при тихой поддержке форматов аудио, требующих воспламенения.Доступность
Доступный в OS X v10.3 и позже.
-
Ссылка на аудио объект преобразователя.
Объявление
Swift
typealias AudioConverterRef = COpaquePointer
Objective C
typedef struct OpaqueAudioConverter *AudioConverterRef;
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.1 и позже.
-
Аудио идентификатор свойства преобразователя.
Объявление
Swift
typealias AudioConverterPropertyID = UInt32
Objective C
typedef UInt32 AudioConverterPropertyID;
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.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 }
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' };
Константы
-
kAudioConverterPropertyMinimumInputBufferSize
kAudioConverterPropertyMinimumInputBufferSize
A
UInt32
значение, указывающее размер, в байтах, самого маленького буфера входных данных, которыми можно снабдить через аудио входной обратный вызов преобразователя или как ввод кAudioConverterConvertBuffer
функция.Доступный в OS X v10.1 и позже.
-
kAudioConverterPropertyMinimumOutputBufferSize
kAudioConverterPropertyMinimumOutputBufferSize
A
UInt32
значение, указывающее размер, в байтах, самого маленького буфера выходных данных, которые могут быть предоставлены AudioConverterFillComplexBuffer или как вывод к AudioConverterConvertBufferДоступный в OS X v10.1 и позже.
-
kAudioConverterPropertyMaximumInputBufferSize
kAudioConverterPropertyMaximumInputBufferSize
Осуждаемый. Аудио входной обратный вызов преобразователя может быть передан любое число пакетов данных. Если меньше - пакеты, возвращаются, чем требуемый, то ввод proc вызывают снова. Если больше пакетов передается, чем требуемый, они остаются в буфере клиента и используются по мере необходимости.
Доступный в OS X v10.3 и позже.
-
kAudioConverterPropertyMaximumInputPacketSize
kAudioConverterPropertyMaximumInputPacketSize
A
UInt32
значение, указывающее размер, в байтах, самого большого единственного пакета данных в формате ввода. Это главным образом полезно для сжатых данных переменной скорости передачи (декодеры).Доступный в OS X v10.3 и позже.
-
kAudioConverterPropertyMaximumOutputPacketSize
kAudioConverterPropertyMaximumOutputPacketSize
A
UInt32
значение, указывающее размер, в байтах, самого большого единственного пакета данных в выходном формате. Это главным образом полезно для сжатых данных переменной скорости передачи (кодеры).Доступный в OS X v10.3 и позже.
-
kAudioConverterPropertyCalculateInputBufferSize
kAudioConverterPropertyCalculateInputBufferSize
A
UInt32
значение, на вводе содержащее размер в байтах, который желаем для выходных данных. На выводе это содержит размер, в байтах, входного буфера, требуемого генерировать так много выходные данные. Обратите внимание на то, что некоторые преобразователи не могут сделать этого вычисления.Доступный в OS X v10.1 и позже.
-
kAudioConverterPropertyCalculateOutputBufferSize
kAudioConverterPropertyCalculateOutputBufferSize
A
UInt32
значение, на вводе содержащее размер в байтах, который желаем для входных данных. На выводе это содержит размер, в байтах, буфера вывода, требуемого содержать выходные данные, которые будут сгенерированы. Некоторые преобразователи не могут сделать этого вычисления.Доступный в OS X v10.1 и позже.
-
kAudioConverterPropertyInputCodecParameters
kAudioConverterPropertyInputCodecParameters
Значение этого свойства варьируется от формата до формата и считается частным к формату. Это обрабатывается как буфер невведенных данных.
Доступный в OS X v10.1 и позже.
-
kAudioConverterPropertyOutputCodecParameters
kAudioConverterPropertyOutputCodecParameters
Значение этого свойства варьируется от формата до формата и считается частным к формату. Это обрабатывается как буфер невведенных данных.
Доступный в OS X v10.1 и позже.
-
kAudioConverterSampleRateConverterAlgorithm
kAudioConverterSampleRateConverterAlgorithm
Осуждаемый. Использовать
kAudioConverterSampleRateConverterComplexity
вместо этого.Доступный в OS X v10.1 и позже.
-
kAudioConverterSampleRateConverterComplexity
kAudioConverterSampleRateConverterComplexity
Алгоритм преобразования частоты дискретизации, указанное использование константы от Идентификаторов Сложности Преобразования Частоты дискретизации.
Доступный в OS X v10.5 и позже.
-
kAudioConverterSampleRateConverterQuality
kAudioConverterSampleRateConverterQuality
Качество рендеринга преобразователя частоты дискретизации, указанное использование константы от Качественных Идентификаторов Преобразования Частоты дискретизации. См. также
kAudioConverterSampleRateConverterComplexity
.Доступный в OS X v10.2 и позже.
-
kAudioConverterSampleRateConverterInitialPhase
kAudioConverterSampleRateConverterInitialPhase
A
Float64
оцените равный0.0
.Доступный в OS X v10.5 и позже.
-
kAudioConverterCodecQuality
kAudioConverterCodecQuality
Качество рендеринга кодека. A
UInt32
значение.Доступный в OS X v10.3 и позже.
-
kAudioConverterPrimeMethod
kAudioConverterPrimeMethod
Метод воспламенения, обычно для преобразования частоты дискретизации. Посмотрите
AudioConverterPrimeInfo
и константы воспламенения преобразователя.Доступный в OS X v10.2 и позже.
-
kAudioConverterPrimeInfo
kAudioConverterPrimeInfo
AudioConverterPrimeInfo
структура.Доступный в OS X v10.2 и позже.
-
kAudioConverterChannelMap
kAudioConverterChannelMap
Массив
SInt32
значения, указывающие отображение ввода к каналу вывода.Размер массива является числом каналов вывода. Каждый элемент указывает, с помощью индекса на основе 0, какие данные канала ввода направляются к тому каналу вывода. Значение
-1
указывает, что никакой канал ввода не должен быть направлен к тому каналу вывода.Поведение по умолчанию следующие. Учитывая, что
In
= число каналов ввода иOut
= число каналов вывода. КогдаIn
>Out
, первоеOut
вводы направляются к первомуOut
выводы и остающиеся вводы отбрасываются. КогдаOut
>In
, первоеIn
вводы направляются к первомуOut
выводы и остающиеся выводы обнуляются.Доступный в OS X v10.1 и позже.
-
kAudioConverterDecompressionMagicCookie
kAudioConverterDecompressionMagicCookie
A
void*
значение, указывающее на память, установленную вызывающей стороной. Это свойство требуется некоторыми форматами аудиоданных для распаковки входных данных.Доступный в OS X v10.2 и позже.
-
kAudioConverterCompressionMagicCookie
kAudioConverterCompressionMagicCookie
A
void*
значение, указывающее на память, установленную вызывающей стороной. Это свойство возвращается преобразователем так, чтобы Ваше приложение могло сохранить его вместе с выходными данными. Это свойство может тогда пасоваться назад к преобразователю для распаковки в более позднее время.Доступный в OS X v10.2 и позже.
-
kAudioConverterEncodeBitRate
kAudioConverterEncodeBitRate
A
UInt32
значение, содержащее число бит в секунду для стремления при кодировании данных. Некоторые декодеры также позволяют Вам запрашивать это свойство для обнаружения скорости передачи.Доступный в OS X v10.3 и позже.
-
kAudioConverterEncodeAdjustableSampleRate
kAudioConverterEncodeAdjustableSampleRate
A
Float64
значение, указывающее выходную частоту дискретизации.Для кодирования аудио преобразователей a) с указанной выходной частотой дискретизации
0
и b), которые способны к выполнению преобразования частоты дискретизации на входных данных, это свойство, обеспечивают способ установить выходную частоту дискретизации.Доступный в OS X v10.3 и позже.
-
kAudioConverterInputChannelLayout
kAudioConverterInputChannelLayout
AudioChannelLayout
структура, указывающая расположение канала ввода аудио преобразователя.Доступный в OS X v10.3 и позже.
-
kAudioConverterOutputChannelLayout
kAudioConverterOutputChannelLayout
AudioChannelLayout
структура, указывающая расположение канала вывода аудио преобразователя.Доступный в OS X v10.3 и позже.
-
kAudioConverterApplicableEncodeBitRates
kAudioConverterApplicableEncodeBitRates
Массив
AudioValueRange
структуры, который описывает применимые скорости передачи на основе текущих настроек.Доступный в OS X v10.3 и позже.
-
kAudioConverterAvailableEncodeBitRates
kAudioConverterAvailableEncodeBitRates
Массив
AudioValueRange
структуры, который описывает доступные скорости передачи на основе формата ввода. Можно определить использование доступных скоростей передачи Audio Format Services.Доступный в OS X v10.3 и позже.
-
kAudioConverterApplicableEncodeSampleRates
kAudioConverterApplicableEncodeSampleRates
Массив
AudioValueRange
структуры, который описывает применимые частоты дискретизации на основе текущих настроек.Доступный в OS X v10.3 и позже.
-
kAudioConverterAvailableEncodeSampleRates
kAudioConverterAvailableEncodeSampleRates
Массив
AudioValueRange
структуры, который описывает доступные частоты дискретизации на основе формата ввода. Можно определить доступное использование частот дискретизации Audio Format Services.Доступный в OS X v10.3 и позже.
-
kAudioConverterAvailableEncodeChannelLayoutTags
kAudioConverterAvailableEncodeChannelLayoutTags
Массив
AudioChannelLayoutTag
значения для формата и числа каналов указаны в формате ввода кодера.Доступный в OS X v10.3 и позже.
-
kAudioConverterCurrentOutputStreamDescription
kAudioConverterCurrentOutputStreamDescription
Текущий, полностью указанный вывод
AudioStreamBasicDescription
структура.Доступный в OS X v10.3 и позже.
-
kAudioConverterCurrentInputStreamDescription
kAudioConverterCurrentInputStreamDescription
Текущий, полностью указанный ввод
AudioStreamBasicDescription
структура.Доступный в OS X v10.3 и позже.
-
kAudioConverterPropertySettings
kAudioConverterPropertySettings
Массив (типа
CFArray
) из настроек свойства для преобразователей.Доступный в OS X v10.3 и позже.
-
kAudioConverterPropertyBitDepthHint
kAudioConverterPropertyBitDepthHint
A
UInt32
значение, определяющее исходную битовую глубину сохранять.Это - подсказка, используемая некоторыми кодерами, такими как Apple кодер без потерь. Преобразователь обычно пытается сохранить как можно больше битов. Кодер без потерь делает плохо, если больше битов предоставляется, чем желательно в выводе.
Доступный в OS X v10.3 и позже.
-
kAudioConverterPropertyFormatList
kAudioConverterPropertyFormatList
Массив
AudioFormatListItem
структуры, который описывает набор форматов данных, произведенных к концу кодера аудио преобразователя.Если
ioPropertyDataSize
параметрAudioConverterGetProperty
функция указывает что размер данных вoutPropertyData
параметрsizeof (AudioFormatListItem)
, тогда только лучший формат возвращается. Это свойство может использоваться, например, для обнаружения всех форматов данных, произведенных Высокоэффективным кодером версии 2 AAC (указанныйkAudioFormatMPEG4AAC_HE_V2
постоянный).Доступный в OS X v10.5 и позже.
-
-
Константы, используемые с
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
kConverterPrimeMethod_Pre
Главный с
leading
+trailing
входные кадры.Доступный в OS X v10.2 и позже.
-
kConverterPrimeMethod_Normal
kConverterPrimeMethod_Normal
Главный с
trailing
кадры только, для нулевой задержки. Ведущие кадры, как предполагается, являются тишиной.Доступный в OS X v10.2 и позже.
-
kConverterPrimeMethod_None
kConverterPrimeMethod_None
Акты в режиме «задержки». Продвижение и запаздывающие кадры, как оба предполагается, являются тишиной.
Доступный в OS X v10.2 и позже.
-
-
Спецификаторы по качеству преобразования частоты дискретизации, используемому для
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
kAudioConverterQuality_Max
Указывает максимальное качество преобразования частоты дискретизации.
Доступный в OS X v10.2 и позже.
-
kAudioConverterQuality_High
kAudioConverterQuality_High
Указывает высокое качество преобразования частоты дискретизации.
Доступный в OS X v10.2 и позже.
-
kAudioConverterQuality_Medium
kAudioConverterQuality_Medium
Указывает среднее качество преобразования частоты дискретизации.
Доступный в OS X v10.2 и позже.
-
kAudioConverterQuality_Low
kAudioConverterQuality_Low
Указывает низкое качество преобразования частоты дискретизации.
Доступный в OS X v10.2 и позже.
-
kAudioConverterQuality_Min
kAudioConverterQuality_Min
Указывает минимальное качество преобразования частоты дискретизации.
Доступный в OS X v10.2 и позже.
Обсуждение
Преобразования частоты дискретизации более высокого качества влекут за собой более высокую стоимость обработки.
-
-
Спецификаторы для алгоритма преобразования частоты дискретизации, используемого для
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
kAudioConverterSampleRateConverterComplexity_Linear
Указывает линейную интерполяцию для преобразования частоты дискретизации. Это обеспечивает самое низкое качество и является, в вычислительном отношении, наименее дорогой опцией.
Доступный в OS X v10.5 и позже.
-
kAudioConverterSampleRateConverterComplexity_Normal
kAudioConverterSampleRateConverterComplexity_Normal
Указывает алгоритм преобразования частоты дискретизации нормальной сложности. Это - значение по умолчанию.
Доступный в OS X v10.5 и позже.
-
kAudioConverterSampleRateConverterComplexity_Mastering
kAudioConverterSampleRateConverterComplexity_Mastering
Указывает алгоритм преобразования уровня выборочного уровня качества освоения. Это обеспечивает высшее качество и является, в вычислительном отношении, самой дорогой опцией.
Доступный в OS X v10.5 и позже.
-
Эта таблица приводит коды результата, определенные для Audio Converter Services.
-
Значение
'fmt?'
Описание
Доступный в OS X v10.1 и позже.
-
Значение
0x6F703F3F
Описание
Доступный в OS X v10.1 и позже.
-
Значение
'опора'
Описание
Доступный в OS X v10.1 и позже.
-
Значение
'insz'
Описание
Доступный в OS X v10.1 и позже.
-
Размер байта не является целочисленным кратным числом типа телосложения.
Значение
'otsz'
Описание
Размер байта не является целочисленным кратным числом типа телосложения.
Доступный в OS X v10.1 и позже.
-
Значение
'что'
Описание
Доступный в OS X v10.3 и позже.
-
Значение
'! siz'
Описание
Доступный в OS X v10.3 и позже.
-
Значение
'! pkd'
Описание
Доступный в OS X v10.3 и позже.
-
Значение
'! isr'
Описание
Доступный в OS X v10.3 и позже.
-
Значение
! osr'
Описание
Доступный в OS X v10.3 и позже.