Потоковая ссылка служб аудиофайла
Audio File Stream Services обеспечивает интерфейс для парсинга переданных потоком аудиофайлов — в котором только ограниченное окно данных доступно за один раз.
Потоки аудиофайла, по своей природе, не являются произвольным доступом. Когда Вы запрашиваете данные от потока, более ранние данные больше не могли бы быть доступными, и более поздние данные еще не могли бы быть доступными. Кроме того, данные, которые Вы получаете (и затем обеспечивают для синтаксического анализатора) могли бы включать частичные пакеты. Для парсинга переданных потоком аудиоданных, тогда, синтаксический анализатор должен помнить данные от частично удовлетворенных запросов и должен быть в состоянии ожидать остатка от тех данных. Другими словами, синтаксический анализатор должен быть в состоянии приостановить парсинг по мере необходимости и затем возобновить, где это кончило.
Для использования синтаксического анализатора Вы передаете данные от переданного потоком аудиофайла, поскольку Вы получаете их к синтаксическому анализатору. Когда синтаксический анализатор имеет полный пакет аудиоданных или полного свойства, это вызывает функцию обратного вызова. Ваши обратные вызовы тогда обрабатывают проанализированные данные — такой как путем игры его или записи его в диск.
Здесь, в форме схемы, типичный образец использования для потокового синтаксического анализатора аудиофайла:
Создайте новый потоковый синтаксический анализатор аудиофайла путем вызова
AudioFileStreamOpen
функция. Указатели передачи на Ваши функции обратного вызова для аудиоданных и метаданных (AudioFileStream_PacketsProc
иAudioFileStream_PropertyListenerProc
).AudioFileStreamOpen
функция дает Вам ссылку на новый синтаксический анализатор.Получите некоторые переданные потоком данные. Вызовите
AudioFileStreamParseBytes
функционируйте, когда у Вас будут данные для передачи синтаксическому анализатору. Отправьте данные в синтаксический анализатор последовательно и, если это возможно, без разрывов.Когда синтаксический анализатор получает применимый буфер аудиоданных, он вызывает Ваш обратный вызов аудиоданных. Ваш обратный вызов может тогда играть данные, записать его в файл, или иначе обработать его.
Когда синтаксический анализатор получает метаданные, он вызывает Ваш обратный вызов свойства — который поочередно может получить значение свойства путем вызова
AudioFileStreamGetPropertyInfo
иAudioFileStreamGetProperty
функции.
Закончено анализируя поток, вызовите
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>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.5 и позже.
-
Потоковые данные аудиофайла передач к синтаксическому анализатору.
Объявление
Swift
func AudioFileStreamParseBytes(_
inAudioFileStream
: AudioFileStreamID, _inDataByteSize
: UInt32, _inData
: UnsafePointer<Void>, _inFlags
: UInt32) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.5 и позже.
-
Обеспечивает байтовое смещение для указанного пакета в потоке данных.
Объявление
Swift
func AudioFileStreamSeek(_
inAudioFileStream
: AudioFileStreamID, _inAbsolutePacketOffset
: Int64, _outAbsoluteByteOffset
: UnsafeMutablePointer<Int64>, _ioFlags
: UnsafeMutablePointer<UInt32>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.5 и позже.
-
Получает информацию о значении свойства.
Объявление
Swift
func AudioFileStreamGetPropertyInfo(_
inAudioFileStream
: AudioFileStreamID, _inPropertyID
: AudioFileStreamPropertyID, _outPropertyDataSize
: UnsafeMutablePointer<UInt32>, _outWritable
: UnsafeMutablePointer<Boolean>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.5 и позже.
-
Получает значение указанного свойства.
Объявление
Swift
func AudioFileStreamGetProperty(_
inAudioFileStream
: AudioFileStreamID, _inPropertyID
: AudioFileStreamPropertyID, _ioPropertyDataSize
: UnsafeMutablePointer<UInt32>, _outPropertyData
: UnsafeMutablePointer<Void>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.5 и позже.
-
Устанавливает значение указанного свойства.
Объявление
Swift
func AudioFileStreamSetProperty(_
inAudioFileStream
: AudioFileStreamID, _inPropertyID
: AudioFileStreamPropertyID, _inPropertyDataSize
: UInt32, _inPropertyData
: UnsafePointer<Void>) -> OSStatusObjective 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
Доступность
Доступный в OS X v10.5 и позже.
-
Завершения и освобождают указанный потоковый синтаксический анализатор аудиофайла.
Объявление
Swift
func AudioFileStreamClose(_
inAudioFileStream
: AudioFileStreamID) -> OSStatusObjective C
OSStatus AudioFileStreamClose ( AudioFileStreamID inAudioFileStream );
Параметры
inAudioFileStream
ID синтаксического анализатора Вы хотите закрыться. Синтаксический анализатор ID возвращается
AudioFileStreamOpen
функция.Возвращаемое значение
Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Вызванный потоковым синтаксическим анализатором аудиофайла, когда это находит значение свойства в потоке аудиофайла.
Объявление
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
Доступность
Доступный в OS X v10.5 и позже.
-
Вызванный потоковым синтаксическим анализатором аудиофайла, когда это находит аудиоданные в потоке аудиофайла.
Объявление
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
Доступность
Доступный в OS X v10.5 и позже.
-
Однозначно определяет потоковое свойство аудиофайла.
Объявление
Swift
typealias AudioFileStreamPropertyID = UInt32
Objective C
typedef UInt32 AudioFileStreamPropertyID;
Обсуждение
Посмотрите Потоковые Свойства Аудиофайла для возможных значений.
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Определяет непрозрачный тип данных, представляющий потоковый синтаксический анализатор аудиофайла.
Объявление
Swift
typealias AudioFileStreamID = COpaquePointer
Objective C
typedef struct OpaqueAudioFileStreamID *AudioFileStreamID;
Оператор импорта
Objective C
@import AudioToolbox;
Swift
import AudioToolbox
Доступность
Доступный в OS X v10.5 и позже.
-
Флаги, установленные обратным вызовом слушателя свойства и
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
kAudioFileStreamPropertyFlag_PropertyIsCached
Этот флаг установлен когда обратный вызов
AudioFileStream_PropertyListenerProc
вызывается в случае, что значение свойства кэшировалось и может быть получено позже.Если этот флаг не установлен, получите значение свойства из этого обратного вызова или установите
kAudioFileStreamPropertyFlag_CacheProperty
флаг, чтобы дать синтаксическому анализатору команду начинать кэшировать данные свойства. Иначе, значение не будет доступно после возвратов обратного вызова.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamPropertyFlag_CacheProperty
kAudioFileStreamPropertyFlag_CacheProperty
Слушатель свойства устанавливает этот флаг, чтобы дать синтаксическому анализатору команду кэшировать значение свойства так, чтобы это осталось доступным после возвратов обратного вызова.
Доступный в OS X v10.5 и позже.
-
kAudioFileStreamParseFlag_Discontinuity
kAudioFileStreamParseFlag_Discontinuity
Передайте этот флаг
AudioFileStreamParseBytes
функционируйте для сигнализации разрыва в аудиоданных.Любой частичный пакет, одновременно покупающий и продающий буферную границу, отбрасывается, чтобы избежать иметь вызов синтаксического анализатора Ваш обратный вызов с поврежденным пакетом. После того, как разрыв происходит,
AudioFileStreamSeek
функция могла бы возвратить приближенные значения для некоторых форматов данных.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamSeekFlag_OffsetIsEstimated
kAudioFileStreamSeekFlag_OffsetIsEstimated
Этот флаг возвращается
AudioFileStreamSeek
функционируйте, если байтовое смещение является только оценкой.Доступный в OS X v10.5 и позже.
-
-
Потоковые свойства аудиофайла содержат информацию, которую можно использовать, чтобы помочь интерпретировать аудиоданные в потоке.
Объявление
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
kAudioFileStreamProperty_ReadyToProducePackets
A
UInt32
значение, которое является0
пока синтаксический анализатор не проанализировал до начала аудиоданных. Как только синтаксический анализатор достиг аудиоданных, значение этого свойства установлено в1
, в который точка все потоковые свойства аудиофайла, которые могут быть известны, известны.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_FileFormat
kAudioFileStreamProperty_FileFormat
A
UInt32
четыре кода символа, идентифицирующие формат аудиоданных. Для списка формата аудио IDs см. “Идентификаторы формата Аудиоданных” в Ссылке Типов данных Core Audio.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_DataFormat
kAudioFileStreamProperty_DataFormat
AudioStreamBasicDescription
структура, описывающая формат аудиоданных в потоке. Для получения дополнительной информации об аудиопотоке основные описания посмотрите Ссылку Типов данных Core Audio.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_FormatList
kAudioFileStreamProperty_FormatList
Для поддержки форматов, таких как AAC с SBR, где закодированный поток данных может декодироваться к многократным целевым форматам это свойство возвращает массив
AudioFormatListItem
структуры (объявленный вAudioFormat.h
) — один для каждого из целевых форматов. Поведение по умолчанию состоит в том, чтобы возвратитьсяAudioFormatListItem
структура, имеющая то жеAudioStreamBasicDescription
структура как возвращенныйkAudioFileStreamProperty_DataFormat
свойство.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_MagicCookieData
kAudioFileStreamProperty_MagicCookieData
Указатель (
void *
) к волшебному cookie. Для типов аудиофайла, требующих волшебного cookie, прежде чем пакеты могут быть записаны в файл, необходимо получить это значение свойства прежде, чем вызватьAudioFileWriteBytes
илиAudioFileWritePackets
функции.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_AudioDataByteCount
kAudioFileStreamProperty_AudioDataByteCount
A
UInt64
значение, указывающее число байтов аудиоданных в переданном потоком файле. Это свойство допустимо, только если число байтов для всего потока известно от данных, проанализированных в заголовке. Для некоторых видов потоков это свойство не может иметь никакого значения.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_AudioDataPacketCount
kAudioFileStreamProperty_AudioDataPacketCount
A
UInt64
значение, указывающее число пакетов аудиоданных в переданном потоком файле.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_MaximumPacketSize
kAudioFileStreamProperty_MaximumPacketSize
A
UInt32
значение, указывающее максимальный размер пакета данных в переданном потоком файле.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_DataOffset
kAudioFileStreamProperty_DataOffset
SInt64
значение, указывающее байтовое смещение в переданном потоком файле, в котором запускаются аудиоданные.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_ChannelLayout
kAudioFileStreamProperty_ChannelLayout
AudioChannelLayout
структура. Для получения дополнительной информации посмотрите Ссылку Типов данных Core Audio.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_PacketToFrame
kAudioFileStreamProperty_PacketToFrame
Получает число кадра, соответствующее пакетному числу. Передайте
AudioFramePacketTranslation
структура сmPacket
поле, заполненное, и значение вmFrame
поле возвращается на выводе. (mFrameOffsetInPacket
полеAudioFramePacketTranslation
структура проигнорирована.) Для получения дополнительной информации об аудио пакетной структуре перевода кадра, посмотрите Ссылку Audio File Services.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_FrameToPacket
kAudioFileStreamProperty_FrameToPacket
Получает пакетное число, соответствующее числу кадра. Передайте
AudioFramePacketTranslation
структура сmFrame
поле, заполненное, и значения вmPacket
иmFrameOffsetInPacket
поля возвращаются на выводе. Для получения дополнительной информации об аудио пакетной структуре перевода кадра посмотрите Ссылку Audio File Services.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_PacketToByte
kAudioFileStreamProperty_PacketToByte
Получает число байта, соответствующее пакетному числу. Передайте
AudioBytePacketTranslation
структура сmPacket
поле, заполненное, и значение, возвращается вmByte
поле.mByteOffsetInPacket
полеAudioBytePacketTranslation
структура проигнорирована. ЕслиmByte
значение является оценкой, тогдаkBytePacketTranslationFlag_IsEstimate
значение будет установлено вmFlags
поле.Доступный в OS X v10.6 и позже.
-
kAudioFileStreamProperty_ByteToPacket
kAudioFileStreamProperty_ByteToPacket
Получает пакетное число, соответствующее числу байта. Передайте
AudioBytePacketTranslation
структура сmByte
поле, заполненное, и значения, возвращается вmPacket
иmByteOffsetInPacket
поля. ЕслиmPacket
значение является оценкой, тогдаkBytePacketTranslationFlag_IsEstimate
значение будет установлено вmFlags
поле.Доступный в OS X v10.6 и позже.
-
kAudioFileStreamProperty_PacketTableInfo
kAudioFileStreamProperty_PacketTableInfo
AudioFilePacketTableInfo
структура. Для получения дополнительной информации о пакетной табличной информационной структуре аудиофайла посмотрите Ссылку Audio File Services.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_PacketSizeUpperBound
kAudioFileStreamProperty_PacketSizeUpperBound
A
UInt32
значение, указывающее теоретический максимальный размер пакета в переданном потоком файле. Это значение полезно для определения минимальных буферных размеров, например.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_AverageBytesPerPacket
kAudioFileStreamProperty_AverageBytesPerPacket
A
Float64
значение, указывающее средние байты на пакет. Для CBR и файлов с пакетными таблицами, это число будет точно. Иначе, это - рабочее среднее число проанализированных пакетов.Доступный в OS X v10.6 и позже.
-
kAudioFileStreamProperty_BitRate
kAudioFileStreamProperty_BitRate
A
UInt32
значение, указывающее скорость передачи потока в битах в секунду.Доступный в OS X v10.5 и позже.
Обсуждение
Используйте их свойство IDs при вызове
AudioFileStreamGetProperty
функция. -
Эта таблица приводит коды результата, определенные для Audio File Stream Services.
-
Указанный тип файла не поддерживается.
Значение
'typ?'
Описание
Указанный тип файла не поддерживается.
Доступный в OS X v10.5 и позже.
-
Формат данных не поддерживается указанным типом файла.
Значение
'fmt?'
Описание
Формат данных не поддерживается указанным типом файла.
Доступный в OS X v10.5 и позже.
-
Свойство не поддерживается.
Значение
'имущество?'
Описание
Свойство не поддерживается.
Доступный в OS X v10.5 и позже.
-
Размер буфера, Вы предусмотрели данные свойства, не был корректен.
Значение
'! siz'
Описание
Размер буфера, Вы предусмотрели данные свойства, не был корректен.
Доступный в OS X v10.5 и позже.
-
Не возможно произвести исходящие пакеты, потому что пакетная таблица переданного потоком аудиофайла или другая информация об определении не присутствуют или появляются после аудиоданных.
Значение
'optm'
Описание
Не возможно произвести исходящие пакеты, потому что пакетная таблица переданного потоком аудиофайла или другая информация об определении не присутствуют или появляются после аудиоданных.
Доступный в OS X v10.5 и позже.
-
Пакетное смещение было меньше, чем
0
, или мимо конца файла или поврежденного размера пакета был считан при создании пакетной таблицы.Значение
'pck?'
Описание
Пакетное смещение было меньше, чем
0
, или мимо конца файла или поврежденного размера пакета был считан при создании пакетной таблицы.Доступный в OS X v10.5 и позже.
-
Файл уродлив, не допустимый экземпляр аудиофайла его типа, или не распознанный как аудиофайл.
Значение
'dta?'
Описание
Файл уродлив, не допустимый экземпляр аудиофайла его типа, или не распознанный как аудиофайл.
Доступный в OS X v10.5 и позже.
-
Значение свойства не присутствует в этом файле перед аудиоданными.
Значение
'unk?'
Описание
Значение свойства не присутствует в этом файле перед аудиоданными.
Доступный в OS X v10.5 и позже.
-
Объем данных, предоставленный для синтаксического анализатора, был недостаточен для приведения к любому результату.
Значение
'больше'
Описание
Объем данных, предоставленный для синтаксического анализатора, был недостаточен для приведения к любому результату.
Доступный в OS X v10.5 и позже.
-
Была опробована недопустимая работа.
Значение
'нет'
Описание
Была опробована недопустимая работа.
Доступный в OS X v10.5 и позже.
-
Неустановленная ошибка произошла.
Значение
'wht?'
Описание
Неустановленная ошибка произошла.
Доступный в OS X v10.5 и позже.
-
Разрыв произошел в аудиоданных, и Audio File Stream Services не может восстановиться.
Значение
'dsc!'
Описание
Разрыв произошел в аудиоданных, и Audio File Stream Services не может восстановиться.
Доступный в OS X v10.5 и позже.