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

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

Разработчик

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

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

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

Потоковая ссылка служб аудиофайла

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


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

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


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

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


Swift

import AudioToolbox

Objective C

@import AudioToolbox;

Audio File Stream Services обеспечивает интерфейс для парсинга переданных потоком аудиофайлов — в котором только ограниченное окно данных доступно за один раз.

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

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

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

  1. Создайте новый потоковый синтаксический анализатор аудиофайла путем вызова AudioFileStreamOpen функция. Указатели передачи на Ваши функции обратного вызова для аудиоданных и метаданных (AudioFileStream_PacketsProc и AudioFileStream_PropertyListenerProc). AudioFileStreamOpen функция дает Вам ссылку на новый синтаксический анализатор.

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

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

    2. Когда синтаксический анализатор получает метаданные, он вызывает Ваш обратный вызов свойства — который поочередно может получить значение свойства путем вызова AudioFileStreamGetPropertyInfo и AudioFileStreamGetProperty функции.

  3. Закончено анализируя поток, вызовите AudioFileStreamClose функционируйте, чтобы закрыть и освободить синтаксический анализатор.

Audio File Stream Services поддерживает следующие типы аудиоданных:

  • AIFF

  • AIFC

  • WAVE

  • CAF

  • NeXT

  • ADTS

  • Уровень 3 аудио MPEG

  • AAC

Функции

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

    Объявление

    Swift

    func AudioFileStreamOpen(_ inClientData: UnsafeMutablePointer<Void>, _ inPropertyListenerProc: AudioFileStream_PropertyListenerProc, _ inPacketsProc: AudioFileStream_PacketsProc, _ inFileTypeHint: AudioFileTypeID, _ outAudioFileStream: UnsafeMutablePointer<AudioFileStreamID>) -> OSStatus

    Objective C

    OSStatus AudioFileStreamOpen ( void *inClientData, AudioFileStream_PropertyListenerProc inPropertyListenerProc, AudioFileStream_PacketsProc inPacketsProc, AudioFileTypeID inFileTypeHint, AudioFileStreamID *outAudioFileStream );

    Параметры

    inClientData

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

    inPropertyListenerProc

    Ваш обратный вызов слушателя свойства. Каждый раз, когда синтаксический анализатор находит значение свойства в потоке данных, это вызывает Вашего слушателя свойства со свойством ID. Можно тогда вызвать AudioFileStreamGetPropertyInfo и AudioFileStreamGetProperty функции для получения значения свойства.

    inPacketsProc

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

    inFileTypeHint

    Подсказка типа аудиофайла. Если поток аудиофайла, который Вы намереваетесь передать синтаксическому анализатору, имеет тип, который синтаксический анализатор не может легко или уникально определить от данных (таких как ADTS или AC3), можно использовать этот параметр для указания типа. Возможные значения перечислены в Built-In Audio File Types перечисление в Ссылке Audio File Services.

    Если Вы не знаете тип аудиофайла, передачу 0.

    outAudioFileStream

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

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioFileStreamParseBytes(_ inAudioFileStream: AudioFileStreamID, _ inDataByteSize: UInt32, _ inData: UnsafePointer<Void>, _ inFlags: UInt32) -> OSStatus

    Objective C

    OSStatus AudioFileStreamParseBytes ( AudioFileStreamID inAudioFileStream, UInt32 inDataByteSize, const void *inData, UInt32 inFlags );

    Параметры

    inAudioFileStream

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

    inDataByteSize

    Число байтов данных, которые будут проанализированы.

    inData

    Данные, которые будут проанализированы.

    inFlags

    Потоковый флаг аудиофайла. Если существует разрыв от последних данных, Вы передали синтаксическому анализатору, установите kAudioFileStreamParseFlag_Discontinuity флаг.

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

    Обсуждение

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

    То, когда Вы предоставляете данные синтаксическому анализатору, синтаксический анализатор ищет данные свойства и пакеты аудиоданных и, когда это имеет готовые данные, вызывает Ваш AudioFileStream_PropertyListenerProc и AudioFileStream_PacketsProc функции обратного вызова для обработки данных. Необходимо обеспечить, по крайней мере, больше, чем ценность единственного пакета данных аудиофайла, но лучше обеспечить несколько пакетов для данных нескольких секунд за один раз.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Обеспечивает байтовое смещение для указанного пакета в потоке данных.

    Объявление

    Swift

    func AudioFileStreamSeek(_ inAudioFileStream: AudioFileStreamID, _ inAbsolutePacketOffset: Int64, _ outAbsoluteByteOffset: UnsafeMutablePointer<Int64>, _ ioFlags: UnsafeMutablePointer<UInt32>) -> OSStatus

    Objective C

    OSStatus AudioFileStreamSeek ( AudioFileStreamID inAudioFileStream, SInt64 inPacketOffset, SInt64 *outDataByteOffset, UInt32 *ioFlags );

    Параметры

    inAudioFileStream

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

    inAbsolutePacketOffset

    Число пакетов с начала файла пакета, байтовое смещение которого Вы хотите возвратить.

    outAbsoluteByteOffset

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

    ioFlags

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

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

    Обсуждение

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    func AudioFileStreamGetPropertyInfo(_ inAudioFileStream: AudioFileStreamID, _ inPropertyID: AudioFileStreamPropertyID, _ outPropertyDataSize: UnsafeMutablePointer<UInt32>, _ outWritable: UnsafeMutablePointer<Boolean>) -> OSStatus

    Objective C

    OSStatus AudioFileStreamGetPropertyInfo ( AudioFileStreamID inAudioFileStream, AudioFileStreamPropertyID inPropertyID, UInt32 *outPropertyDataSize, Boolean *outWritable );

    Параметры

    inAudioFileStream

    ID синтаксического анализатора, из которого Вы хотите получить информацию. Синтаксический анализатор ID возвращается AudioFileStreamOpen функция.

    inPropertyID

    ID с четырьмя символами, указывающий потоковое свойство аудиофайла, о котором Вы хотите информацию. Посмотрите Потоковые Свойства Аудиофайла для возможных значений.

    outPropertyDataSize

    На выводе, размере, в байтах, текущей стоимости указанного свойства.

    outWritable

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

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Получает значение указанного свойства.

    Объявление

    Swift

    func AudioFileStreamGetProperty(_ inAudioFileStream: AudioFileStreamID, _ inPropertyID: AudioFileStreamPropertyID, _ ioPropertyDataSize: UnsafeMutablePointer<UInt32>, _ outPropertyData: UnsafeMutablePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioFileStreamGetProperty ( AudioFileStreamID inAudioFileStream, AudioFileStreamPropertyID inPropertyID, UInt32 *ioPropertyDataSize, void *outPropertyData );

    Параметры

    inAudioFileStream

    ID синтаксического анализатора, из которого Вы хотите получить данные. Синтаксический анализатор ID возвращается AudioFileStreamOpen функция.

    inPropertyID

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

    ioPropertyDataSize

    На вводе, размере буфера в outPropertyData параметр. Вызовите AudioFileStreamGetPropertyInfo функция для получения размера значения свойства. На выводе возвратилось число байтов значения свойства.

    outPropertyData

    На выводе, значении указанного свойства.

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

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

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

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Устанавливает значение указанного свойства.

    Объявление

    Swift

    func AudioFileStreamSetProperty(_ inAudioFileStream: AudioFileStreamID, _ inPropertyID: AudioFileStreamPropertyID, _ inPropertyDataSize: UInt32, _ inPropertyData: UnsafePointer<Void>) -> OSStatus

    Objective C

    OSStatus AudioFileStreamSetProperty ( AudioFileStreamID inAudioFileStream, AudioFileStreamPropertyID inPropertyID, UInt32 inPropertyDataSize, const void *inPropertyData );

    Параметры

    inAudioFileStream

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

    inPropertyID

    ID потокового свойства аудиофайла, значение которого должно быть установлено.

    inPropertyDataSize

    Размер, в байтах, данных свойства.

    inPropertyData

    Данные свойства.

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

    Обсуждение

    В настоящее время нет никаких устанавливаемых свойств.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Завершения и освобождают указанный потоковый синтаксический анализатор аудиофайла.

    Объявление

    Swift

    func AudioFileStreamClose(_ inAudioFileStream: AudioFileStreamID) -> OSStatus

    Objective C

    OSStatus AudioFileStreamClose ( AudioFileStreamID inAudioFileStream );

    Параметры

    inAudioFileStream

    ID синтаксического анализатора Вы хотите закрыться. Синтаксический анализатор ID возвращается AudioFileStreamOpen функция.

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

    Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

    См. также

    AudioFileStreamOpen

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

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

    Объявление

    Swift

    typealias AudioFileStream_PropertyListenerProc = CFunctionPointer<((UnsafeMutablePointer<Void>, AudioFileStreamID, AudioFileStreamPropertyID, UnsafeMutablePointer<UInt32>) -> Void)>

    Objective C

    typedef void (*AudioFileStream_PropertyListenerProc) ( void *inClientData, AudioFileStreamID inAudioFileStream, AudioFileStreamPropertyID inPropertyID, UInt32 *ioFlags );

    Параметры

    inClientData

    Значение Вы обеспечили в inClientData параметр, когда Вы вызвали AudioFileStreamOpenфункция.

    inAudioFileStream

    ID потокового синтаксического анализатора аудиофайла, вызвавшего обратный вызов. Синтаксический анализатор ID возвращается AudioFileStreamOpen функция.

    inPropertyID

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

    ioFlags

    На вводе, если kAudioFileStreamPropertyFlag_PropertyIsCached значение установлено, синтаксический анализатор кэширует значение свойства. В противном случае на выводе можно установить kAudioFileStreamPropertyFlag_CacheProperty отметьте, чтобы заставить синтаксический анализатор кэшировать значение. Посмотрите Потоковые Флаги Аудиофайла.

    Обсуждение

    Когда синтаксический анализатор вызовет Вашего слушателя свойства, проверьте ioFlags значение, чтобы видеть, кэшируется ли значение свойства. В противном случае можно вызвать AudioFileStreamGetPropertyInfo и AudioFileStreamGetProperty функции для получения значения свойства из слушателя свойства, или можно установить kAudioFileStreamPropertyFlag_CacheProperty флаг по возврату, чтобы заставить синтаксический анализатор кэшировать значение.

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

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

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

    Объявление

    Swift

    typealias AudioFileStream_PacketsProc = CFunctionPointer<((UnsafeMutablePointer<Void>, UInt32, UInt32, UnsafePointer<Void>, UnsafeMutablePointer<AudioStreamPacketDescription>) -> Void)>

    Objective C

    typedef void (*AudioFileStream_PacketsProc) ( void *inClientData, UInt32 inNumberBytes, UInt32 inNumberPackets, const void *inInputData, AudioStreamPacketDescription *inPacketDescriptions );

    Параметры

    inClientData

    Значение Вы обеспечили в inClientData параметр, когда Вы вызвали AudioFileStreamOpen функция.

    inNumberBytes

    Число байтов данных в inInputData буфер.

    inNumberPackets

    Число пакетов аудиоданных в inInputData буфер.

    inInputData

    Аудиоданные.

    inPacketDescriptions

    Массив потоковых структур описания пакета аудиофайла, описывающих данные. Потоковые структуры описания пакета аудиофайла описаны в Ссылке Типов данных Core Audio.

    Обсуждение

    Для аудиоданных с постоянной скоростью передачи (CBR) Ваш обратный вызов обычно вызывают с таким количеством данных, как Вы передали AudioFileStreamParseBytes функция. Время от времени, однако, только единственный пакет мог бы быть передан из-за границ во входных данных. Для аудиоданных с переменной скоростью передачи (VBR) Ваш обратный вызов можно было бы вызывать несколько раз в течение каждого раза, когда Вы вызвали AudioFileStreamParseBytes функция.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Типы данных

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

    Объявление

    Swift

    typealias AudioFileStreamPropertyID = UInt32

    Objective C

    typedef UInt32 AudioFileStreamPropertyID;

    Обсуждение

    Посмотрите Потоковые Свойства Аудиофайла для возможных значений.

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

  • Определяет непрозрачный тип данных, представляющий потоковый синтаксический анализатор аудиофайла.

    Объявление

    Swift

    typealias AudioFileStreamID = COpaquePointer

    Objective C

    typedef struct OpaqueAudioFileStreamID *AudioFileStreamID;

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

    Objective C

    @import AudioToolbox;

    Swift

    import AudioToolbox

    Доступность

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

Константы

  • Флаги, установленные обратным вызовом слушателя свойства и AudioFileStreamParseBytes функция.

    Объявление

    Swift

    var kAudioFileStreamPropertyFlag_PropertyIsCached: Int { get } var kAudioFileStreamPropertyFlag_CacheProperty: Int { get } var kAudioFileStreamParseFlag_Discontinuity: Int { get } var kAudioFileStreamSeekFlag_OffsetIsEstimated: Int { get }

    Objective C

    enum { kAudioFileStreamPropertyFlag_PropertyIsCached = 1, kAudioFileStreamPropertyFlag_CacheProperty = 2, kAudioFileStreamParseFlag_Discontinuity = 1, kAudioFileStreamSeekFlag_OffsetIsEstimated = 1 };

    Константы

    • kAudioFileStreamPropertyFlag_PropertyIsCached

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

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

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

    • kAudioFileStreamPropertyFlag_CacheProperty

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

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

    • kAudioFileStreamParseFlag_Discontinuity

      Передайте этот флаг AudioFileStreamParseBytes функционируйте для сигнализации разрыва в аудиоданных.

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

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

    • kAudioFileStreamSeekFlag_OffsetIsEstimated

      Этот флаг возвращается AudioFileStreamSeek функционируйте, если байтовое смещение является только оценкой.

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

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

    Объявление

    Swift

    var kAudioFileStreamProperty_ReadyToProducePackets: Int { get } var kAudioFileStreamProperty_FileFormat: Int { get } var kAudioFileStreamProperty_DataFormat: Int { get } var kAudioFileStreamProperty_FormatList: Int { get } var kAudioFileStreamProperty_MagicCookieData: Int { get } var kAudioFileStreamProperty_AudioDataByteCount: Int { get } var kAudioFileStreamProperty_AudioDataPacketCount: Int { get } var kAudioFileStreamProperty_MaximumPacketSize: Int { get } var kAudioFileStreamProperty_DataOffset: Int { get } var kAudioFileStreamProperty_ChannelLayout: Int { get } var kAudioFileStreamProperty_PacketToFrame: Int { get } var kAudioFileStreamProperty_FrameToPacket: Int { get } var kAudioFileStreamProperty_PacketToByte: Int { get } var kAudioFileStreamProperty_ByteToPacket: Int { get } var kAudioFileStreamProperty_PacketTableInfo: Int { get } var kAudioFileStreamProperty_PacketSizeUpperBound: Int { get } var kAudioFileStreamProperty_AverageBytesPerPacket: Int { get } var kAudioFileStreamProperty_BitRate: Int { get }

    Objective C

    enum { kAudioFileStreamProperty_ReadyToProducePackets = 'redy', kAudioFileStreamProperty_FileFormat = 'ffmt', kAudioFileStreamProperty_DataFormat = 'dfmt', kAudioFileStreamProperty_FormatList = 'flst', kAudioFileStreamProperty_MagicCookieData = 'mgic', kAudioFileStreamProperty_AudioDataByteCount = 'bcnt', kAudioFileStreamProperty_AudioDataPacketCount = 'pcnt', kAudioFileStreamProperty_MaximumPacketSize = 'psze', kAudioFileStreamProperty_DataOffset = 'doff', kAudioFileStreamProperty_ChannelLayout = 'cmap', kAudioFileStreamProperty_PacketToFrame = 'pkfr', kAudioFileStreamProperty_FrameToPacket = 'frpk', kAudioFileStreamProperty_PacketToByte = 'pkby', kAudioFileStreamProperty_ByteToPacket = 'bypk', kAudioFileStreamProperty_PacketTableInfo = 'pnfo', kAudioFileStreamProperty_PacketSizeUpperBound = 'pkub', kAudioFileStreamProperty_AverageBytesPerPacket = 'abpp', kAudioFileStreamProperty_BitRate = 'brat' };

    Константы

    • kAudioFileStreamProperty_ReadyToProducePackets

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

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

    • kAudioFileStreamProperty_FileFormat

      A UInt32 четыре кода символа, идентифицирующие формат аудиоданных. Для списка формата аудио IDs см. “Идентификаторы формата Аудиоданных” в Ссылке Типов данных Core Audio.

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

    • kAudioFileStreamProperty_DataFormat

      AudioStreamBasicDescription структура, описывающая формат аудиоданных в потоке. Для получения дополнительной информации об аудиопотоке основные описания посмотрите Ссылку Типов данных Core Audio.

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

    • kAudioFileStreamProperty_FormatList

      Для поддержки форматов, таких как AAC с SBR, где закодированный поток данных может декодироваться к многократным целевым форматам это свойство возвращает массив AudioFormatListItem структуры (объявленный в AudioFormat.h) — один для каждого из целевых форматов. Поведение по умолчанию состоит в том, чтобы возвратиться AudioFormatListItem структура, имеющая то же AudioStreamBasicDescription структура как возвращенный kAudioFileStreamProperty_DataFormat свойство.

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

    • kAudioFileStreamProperty_MagicCookieData

      Указатель (void *) к волшебному cookie. Для типов аудиофайла, требующих волшебного cookie, прежде чем пакеты могут быть записаны в файл, необходимо получить это значение свойства прежде, чем вызвать AudioFileWriteBytes или AudioFileWritePackets функции.

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

    • kAudioFileStreamProperty_AudioDataByteCount

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

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

    • kAudioFileStreamProperty_AudioDataPacketCount

      A UInt64 значение, указывающее число пакетов аудиоданных в переданном потоком файле.

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

    • kAudioFileStreamProperty_MaximumPacketSize

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

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

    • kAudioFileStreamProperty_DataOffset

      SInt64 значение, указывающее байтовое смещение в переданном потоком файле, в котором запускаются аудиоданные.

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

    • kAudioFileStreamProperty_ChannelLayout

      AudioChannelLayout структура. Для получения дополнительной информации посмотрите Ссылку Типов данных Core Audio.

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

    • kAudioFileStreamProperty_PacketToFrame

      Получает число кадра, соответствующее пакетному числу. Передайте AudioFramePacketTranslation структура с mPacket поле, заполненное, и значение в mFrame поле возвращается на выводе. ( mFrameOffsetInPacket поле AudioFramePacketTranslation структура проигнорирована.) Для получения дополнительной информации об аудио пакетной структуре перевода кадра, посмотрите Ссылку Audio File Services.

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

    • kAudioFileStreamProperty_FrameToPacket

      Получает пакетное число, соответствующее числу кадра. Передайте AudioFramePacketTranslation структура с mFrame поле, заполненное, и значения в mPacket и mFrameOffsetInPacket поля возвращаются на выводе. Для получения дополнительной информации об аудио пакетной структуре перевода кадра посмотрите Ссылку Audio File Services.

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

    • kAudioFileStreamProperty_PacketToByte

      Получает число байта, соответствующее пакетному числу. Передайте AudioBytePacketTranslation структура с mPacket поле, заполненное, и значение, возвращается в mByte поле. mByteOffsetInPacket поле AudioBytePacketTranslation структура проигнорирована. Если mByte значение является оценкой, тогда kBytePacketTranslationFlag_IsEstimate значение будет установлено в mFlags поле.

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

    • kAudioFileStreamProperty_ByteToPacket

      Получает пакетное число, соответствующее числу байта. Передайте AudioBytePacketTranslation структура с mByte поле, заполненное, и значения, возвращается в mPacket и mByteOffsetInPacket поля. Если mPacket значение является оценкой, тогда kBytePacketTranslationFlag_IsEstimate значение будет установлено в mFlags поле.

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

    • kAudioFileStreamProperty_PacketTableInfo

      AudioFilePacketTableInfo структура. Для получения дополнительной информации о пакетной табличной информационной структуре аудиофайла посмотрите Ссылку Audio File Services.

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

    • kAudioFileStreamProperty_PacketSizeUpperBound

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

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

    • kAudioFileStreamProperty_AverageBytesPerPacket

      A Float64 значение, указывающее средние байты на пакет. Для CBR и файлов с пакетными таблицами, это число будет точно. Иначе, это - рабочее среднее число проанализированных пакетов.

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

    • kAudioFileStreamProperty_BitRate

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

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

    Обсуждение

    Используйте их свойство IDs при вызове AudioFileStreamGetProperty функция.

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

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

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

    Значение

    'typ?'

    Описание

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

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

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

    Значение

    'fmt?'

    Описание

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

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

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

    Значение

    'имущество?'

    Описание

    Свойство не поддерживается.

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

  • Размер буфера, Вы предусмотрели данные свойства, не был корректен.

    Значение

    '! siz'

    Описание

    Размер буфера, Вы предусмотрели данные свойства, не был корректен.

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

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

    Значение

    'optm'

    Описание

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

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

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

    Значение

    'pck?'

    Описание

    Пакетное смещение было меньше, чем 0, или мимо конца файла или поврежденного размера пакета был считан при создании пакетной таблицы.

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

  • Файл уродлив, не допустимый экземпляр аудиофайла его типа, или не распознанный как аудиофайл.

    Значение

    'dta?'

    Описание

    Файл уродлив, не допустимый экземпляр аудиофайла его типа, или не распознанный как аудиофайл.

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

  • Значение свойства не присутствует в этом файле перед аудиоданными.

    Значение

    'unk?'

    Описание

    Значение свойства не присутствует в этом файле перед аудиоданными.

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

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

    Значение

    'больше'

    Описание

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

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

  • Была опробована недопустимая работа.

    Значение

    'нет'

    Описание

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

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

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

    Значение

    'wht?'

    Описание

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

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

  • Разрыв произошел в аудиоданных, и Audio File Stream Services не может восстановиться.

    Значение

    'dsc!'

    Описание

    Разрыв произошел в аудиоданных, и Audio File Stream Services не может восстановиться.

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