Потоковая ссылка служб аудиофайла
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 );Параметры
inAudioFileStreamID синтаксического анализатора, которому Вы хотите передать данные. Синтаксический анализатор 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 );Параметры
inAudioFileStreamID синтаксического анализатора, для которого Вы хотите обеспечить байтовое смещение. Синтаксический анализатор 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 );Параметры
inAudioFileStreamID синтаксического анализатора, из которого Вы хотите получить информацию. Синтаксический анализатор ID возвращается
AudioFileStreamOpenфункция.inPropertyIDID с четырьмя символами, указывающий потоковое свойство аудиофайла, о котором Вы хотите информацию. Посмотрите Потоковые Свойства Аудиофайла для возможных значений.
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 );Параметры
inAudioFileStreamID синтаксического анализатора, из которого Вы хотите получить данные. Синтаксический анализатор ID возвращается
AudioFileStreamOpenфункция.inPropertyIDID с четырьмя символами, указывающий потоковое свойство аудиофайла, значение которого Вы хотите считать. Посмотрите Потоковые Свойства Аудиофайла для возможных значений.
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 );Параметры
inAudioFileStreamID синтаксического анализатора, которому Вы хотите передать данные. Синтаксический анализатор ID возвращается
AudioFileStreamOpenфункция.inPropertyIDID потокового свойства аудиофайла, значение которого должно быть установлено.
inPropertyDataSizeРазмер, в байтах, данных свойства.
inPropertyDataДанные свойства.
Возвращаемое значение
Код результата. Посмотрите Потоковые Коды Результата Аудиофайла.
Обсуждение
В настоящее время нет никаких устанавливаемых свойств.
Оператор импорта
Objective C
@import AudioToolbox;Swift
import AudioToolboxДоступность
Доступный в OS X v10.5 и позже.
-
Завершения и освобождают указанный потоковый синтаксический анализатор аудиофайла.
Объявление
Swift
func AudioFileStreamClose(_inAudioFileStream: AudioFileStreamID) -> OSStatusObjective C
OSStatus AudioFileStreamClose ( AudioFileStreamID inAudioFileStream );Параметры
inAudioFileStreamID синтаксического анализатора Вы хотите закрыться. Синтаксический анализатор 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функция.inAudioFileStreamID потокового синтаксического анализатора аудиофайла, вызвавшего обратный вызов. Синтаксический анализатор ID возвращается
AudioFileStreamOpenфункция.inPropertyIDID с четырьмя символами свойства, что синтаксический анализатор найден в потоке данных аудиофайла. Посмотрите Потоковые Свойства Аудиофайла для возможных значений.
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 = UInt32Objective C
typedef UInt32 AudioFileStreamPropertyID;Обсуждение
Посмотрите Потоковые Свойства Аудиофайла для возможных значений.
Оператор импорта
Objective C
@import AudioToolbox;Swift
import AudioToolboxДоступность
Доступный в OS X v10.5 и позже.
-
Определяет непрозрачный тип данных, представляющий потоковый синтаксический анализатор аудиофайла.
Объявление
Swift
typealias AudioFileStreamID = COpaquePointerObjective 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_PropertyIsCachedkAudioFileStreamPropertyFlag_PropertyIsCachedЭтот флаг установлен когда обратный вызов
AudioFileStream_PropertyListenerProcвызывается в случае, что значение свойства кэшировалось и может быть получено позже.Если этот флаг не установлен, получите значение свойства из этого обратного вызова или установите
kAudioFileStreamPropertyFlag_CachePropertyфлаг, чтобы дать синтаксическому анализатору команду начинать кэшировать данные свойства. Иначе, значение не будет доступно после возвратов обратного вызова.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamPropertyFlag_CachePropertykAudioFileStreamPropertyFlag_CachePropertyСлушатель свойства устанавливает этот флаг, чтобы дать синтаксическому анализатору команду кэшировать значение свойства так, чтобы это осталось доступным после возвратов обратного вызова.
Доступный в OS X v10.5 и позже.
-
kAudioFileStreamParseFlag_DiscontinuitykAudioFileStreamParseFlag_DiscontinuityПередайте этот флаг
AudioFileStreamParseBytesфункционируйте для сигнализации разрыва в аудиоданных.Любой частичный пакет, одновременно покупающий и продающий буферную границу, отбрасывается, чтобы избежать иметь вызов синтаксического анализатора Ваш обратный вызов с поврежденным пакетом. После того, как разрыв происходит,
AudioFileStreamSeekфункция могла бы возвратить приближенные значения для некоторых форматов данных.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamSeekFlag_OffsetIsEstimatedkAudioFileStreamSeekFlag_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_ReadyToProducePacketskAudioFileStreamProperty_ReadyToProducePacketsA
UInt32значение, которое является0пока синтаксический анализатор не проанализировал до начала аудиоданных. Как только синтаксический анализатор достиг аудиоданных, значение этого свойства установлено в1, в который точка все потоковые свойства аудиофайла, которые могут быть известны, известны.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_FileFormatkAudioFileStreamProperty_FileFormatA
UInt32четыре кода символа, идентифицирующие формат аудиоданных. Для списка формата аудио IDs см. “Идентификаторы формата Аудиоданных” в Ссылке Типов данных Core Audio.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_DataFormatkAudioFileStreamProperty_DataFormatAudioStreamBasicDescriptionструктура, описывающая формат аудиоданных в потоке. Для получения дополнительной информации об аудиопотоке основные описания посмотрите Ссылку Типов данных Core Audio.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_FormatListkAudioFileStreamProperty_FormatListДля поддержки форматов, таких как AAC с SBR, где закодированный поток данных может декодироваться к многократным целевым форматам это свойство возвращает массив
AudioFormatListItemструктуры (объявленный вAudioFormat.h) — один для каждого из целевых форматов. Поведение по умолчанию состоит в том, чтобы возвратитьсяAudioFormatListItemструктура, имеющая то жеAudioStreamBasicDescriptionструктура как возвращенныйkAudioFileStreamProperty_DataFormatсвойство.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_MagicCookieDatakAudioFileStreamProperty_MagicCookieDataУказатель (
void *) к волшебному cookie. Для типов аудиофайла, требующих волшебного cookie, прежде чем пакеты могут быть записаны в файл, необходимо получить это значение свойства прежде, чем вызватьAudioFileWriteBytesилиAudioFileWritePacketsфункции.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_AudioDataByteCountkAudioFileStreamProperty_AudioDataByteCountA
UInt64значение, указывающее число байтов аудиоданных в переданном потоком файле. Это свойство допустимо, только если число байтов для всего потока известно от данных, проанализированных в заголовке. Для некоторых видов потоков это свойство не может иметь никакого значения.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_AudioDataPacketCountkAudioFileStreamProperty_AudioDataPacketCountA
UInt64значение, указывающее число пакетов аудиоданных в переданном потоком файле.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_MaximumPacketSizekAudioFileStreamProperty_MaximumPacketSizeA
UInt32значение, указывающее максимальный размер пакета данных в переданном потоком файле.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_DataOffsetkAudioFileStreamProperty_DataOffsetSInt64значение, указывающее байтовое смещение в переданном потоком файле, в котором запускаются аудиоданные.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_ChannelLayoutkAudioFileStreamProperty_ChannelLayoutAudioChannelLayoutструктура. Для получения дополнительной информации посмотрите Ссылку Типов данных Core Audio.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_PacketToFramekAudioFileStreamProperty_PacketToFrameПолучает число кадра, соответствующее пакетному числу. Передайте
AudioFramePacketTranslationструктура сmPacketполе, заполненное, и значение вmFrameполе возвращается на выводе. (mFrameOffsetInPacketполеAudioFramePacketTranslationструктура проигнорирована.) Для получения дополнительной информации об аудио пакетной структуре перевода кадра, посмотрите Ссылку Audio File Services.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_FrameToPacketkAudioFileStreamProperty_FrameToPacketПолучает пакетное число, соответствующее числу кадра. Передайте
AudioFramePacketTranslationструктура сmFrameполе, заполненное, и значения вmPacketиmFrameOffsetInPacketполя возвращаются на выводе. Для получения дополнительной информации об аудио пакетной структуре перевода кадра посмотрите Ссылку Audio File Services.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_PacketToBytekAudioFileStreamProperty_PacketToByteПолучает число байта, соответствующее пакетному числу. Передайте
AudioBytePacketTranslationструктура сmPacketполе, заполненное, и значение, возвращается вmByteполе.mByteOffsetInPacketполеAudioBytePacketTranslationструктура проигнорирована. ЕслиmByteзначение является оценкой, тогдаkBytePacketTranslationFlag_IsEstimateзначение будет установлено вmFlagsполе.Доступный в OS X v10.6 и позже.
-
kAudioFileStreamProperty_ByteToPacketkAudioFileStreamProperty_ByteToPacketПолучает пакетное число, соответствующее числу байта. Передайте
AudioBytePacketTranslationструктура сmByteполе, заполненное, и значения, возвращается вmPacketиmByteOffsetInPacketполя. ЕслиmPacketзначение является оценкой, тогдаkBytePacketTranslationFlag_IsEstimateзначение будет установлено вmFlagsполе.Доступный в OS X v10.6 и позже.
-
kAudioFileStreamProperty_PacketTableInfokAudioFileStreamProperty_PacketTableInfoAudioFilePacketTableInfoструктура. Для получения дополнительной информации о пакетной табличной информационной структуре аудиофайла посмотрите Ссылку Audio File Services.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_PacketSizeUpperBoundkAudioFileStreamProperty_PacketSizeUpperBoundA
UInt32значение, указывающее теоретический максимальный размер пакета в переданном потоком файле. Это значение полезно для определения минимальных буферных размеров, например.Доступный в OS X v10.5 и позже.
-
kAudioFileStreamProperty_AverageBytesPerPacketkAudioFileStreamProperty_AverageBytesPerPacketA
Float64значение, указывающее средние байты на пакет. Для CBR и файлов с пакетными таблицами, это число будет точно. Иначе, это - рабочее среднее число проанализированных пакетов.Доступный в OS X v10.6 и позже.
-
kAudioFileStreamProperty_BitRatekAudioFileStreamProperty_BitRateA
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 и позже.
