QTSampleBuffer
Этот класс обеспечивает данные о формате, информацию синхронизации и метаданные по демонстрационным буферам носителей. QTSampleBuffer объекты содержат данные от выборок носителей, а также метаданных о тех выборках, включая данные о формате, информацию синхронизации и другие атрибуты. К некоторой расширенной информации можно получить доступ через QTSampleBuffer attributeForKey: и sampleBufferAttributes методы, с помощью ключей описаны в разделе Constants. В дополнение к этим явным методам приложения могут использовать кодирование значения ключа для получения расширенных атрибутов. Для объекта, поддерживающего данный атрибут, valueForKey: будет функционально идентично attributeForKey:. Приложения, желающие наблюдать изменения для данного атрибута, могут добавить наблюдателя значения ключа, где ключевой путь является ключом атрибута.
Оператор импорта
Swift
import QTKit
Objective C
@import QTKit;
Доступность
Доступный в QuickTime 7.2.1 и позже.
-
attributeForKey: - attributeForKey:(OS X v10.9)Возвращает демонстрационный буферный атрибут для данного ключа.
Объявление
Objective C
- (id)attributeForKey:(NSString *)keyПараметры
keyКлюч возвращенного атрибута. Ключи атрибута описаны в разделе Sample Buffer Attributes.
Возвращаемое значение
Объект для данного ключа атрибута, или
NILесли демонстрационный буфер не имеет данного атрибута.Обсуждение
Используйте этот метод для получения атрибутов демонстрационного буфера. Ключи, которые могут использоваться с этим методом, описаны в разделе Constants. Приложения с помощью кодирования значения ключа могут также получить атрибут для данного ключа путем передачи того ключа NSObject
valueForKey:метод.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
audioBufferListWithOptions: - audioBufferListWithOptions:(OS X v10.9)Возвращает указатель на Core Audio
AudioBufferListсодержание аудиоданных принадлежит получателю.Объявление
Objective C
- (AudioBufferList *)audioBufferListWithOptions:(QTSampleBufferAudioBufferListOptions)optionsПараметры
optionsБитовое поле, содержащее опции, определяющие, какой аудио буферный список будет возвращен. Константы опций, которые могут быть объединены с помощью поразрядного или оператора, описаны как часть
QTSampleBufferAudioBufferListOptionsввести.Возвращаемое значение
Указатель на
AudioBufferListструктура. Этот указатель и его связанные аудио буферы останутся допустимыми, пока получатель допустим и значение, возвращенноеsampleUseCountбольше тогда 0.Обсуждение
Этот метод возвращает указатель на Core Audio
AudioBufferListсодержа все аудиоданные в демонстрационном буфере.AudioBufferListможет тогда быть передан Core Audio APIs для рендеринга и обработки аудио. ВозвращенныйAudioBufferListбудет допустимо столько, сколько получатель допустим и значение, возвращенноеsampleUseCountне был постепенно уменьшен к 0. Клиенты, передающиеAudioBufferListк аудиоустройству должен включатьQTSampleBufferAudioBufferListOptionAssure16ByteAlignmentфлаг в параметре опций. Этот метод бросит NSInternalInconsistencyException, если вызвано послеdecrementSampleUseCountиспользовался для лишения законной силы данных носителей, содержавшихся в демонстрационном буфере.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
bytesForAllSamples - bytesForAllSamples(OS X v10.9)Возвращает указатель на байты данных носителей, содержавшихся в демонстрационном буфере.
Объявление
Objective C
- (void *)bytesForAllSamplesВозвращаемое значение
Указатель на буфер данных носителей.
Обсуждение
Этот метод возвращает указатель на данные для выборок носителей, содержавших в демонстрационном буфере. Клиенты, читающие байты из этого указателя, должны проверить общую длину буферного использования
lengthForAllSamples. Приложения могут интерпретировать данные носителей, возвращенные этим методом с помощью infomation от демонстрационного буфераformatDescription. Этот метод бросит NSInternalInconsistencyException, если вызвано послеdecrementSampleUseCountиспользовался для лишения законной силы данных носителей, содержавшихся в демонстрационном буфере.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
decodeTime - decodeTime(OS X v10.9)Возвращает время декодирования буфера.
Объявление
Objective C
- (QTTime)decodeTimeВозвращаемое значение
A
QTTimeпредставление времени декодирования буфера. Для носителей видео B-кадра время декодирования может отличаться отpresentationTime.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
decrementSampleUseCount - decrementSampleUseCount(OS X v10.9)Постепенно уменьшает количество использования демонстрационных данных, принадлежавших получателю, позволяя демонстрационным данным быть лишенным законной силы после соответствующего вызова к
incrementSampleUseCount.Объявление
Objective C
- (void)decrementSampleUseCountОбсуждение
Когда буферы потенциально памяти большой емкости, принадлежавшие получателю, освобождены, этот метод позволяет клиентам управлять. Недавно выделенный
QTSampleBufferимеет демонстрационное количество использования 1. Когда демонстрационное количество использования спадет 0, память, выделенная для выборок, будет освобождена иbytesForAllSamples,lengthForAllSamples, иaudioBufferListWithOptions:методы каждый бросят NSInternalInconsistencyException, когда вызвано.Этот метод походит на метод выпуска NSObject, в котором он позволяет клиентам оставлять владение по данным, содержавшим в демонстрационном буфере. В частности вызвавшие клиенты
incrementSampleUseCountпотому что они интересовались демонстрационными даннымиQTSampleBufferобъекты, возвращенные другим APIs в QTKit, должны вызвать этот метод, когда им больше не нужны те данные. Особенно важно, чтобы клиенты, использующие сборку «мусора», гарантировали, что демонстрационное количество использования 0, когда они больше не требуют демонстрационных данных, принадлежавших aQTSampleBuffer, так, чтобы память могла быть освобождена быстро скорее чем, когда завершен объект.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
продолжительность - продолжительность(OS X v10.9)Возвращает продолжительность буфера.
Объявление
Objective C
- (QTTime)durationВозвращаемое значение
A
QTTimeпредставление продолжительности буфера.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
formatDescription - formatDescription(OS X v10.9)Возвращает описание формата буфера.
Объявление
Objective C
- (QTFormatDescription *)formatDescriptionВозвращаемое значение
A
QTFormatDescriptionобъект, описывающий формат носителя буфера.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
Получает массив Core Audio AudioStreamPacketDescriptions, описывающий продолжительности выборок в переменных буферах аудио скорости передачи.
Объявление
Objective C
- (BOOL)getAudioStreamPacketDescriptions:(AudioStreamPacketDescription *)audioStreamPacketDescriptionsinRange:(NSRange)rangeПараметры
audioStreamPacketDescriptionsМассив Core Audio структуры AudioStreamPacketDescription, выделенные, чтобы быть достаточно большим для адаптации числу описаний пакета, обозначенных диапазоном.
rangeДиапазон описаний пакета для использования при заполнении массива. Если диапазон выходит за пределы числа выборок, возвращенных
numberOfSamples, этот метод повышает NSRangeException.Возвращаемое значение
Если буфер содержит аудио с переменной скоростью передачи, этот метод заполняется
audioStreamPacketDescriptionsсAudioStreamPacketDescriptionструктуры и возвратыYEStrue. Если буфер содержит единственное аудио скорости передачи, этот метод возвратыNOfalseи листыaudioStreamPacketDescriptionsнетронутый.Обсуждение
Приложения, которые должны обработать отдельные пакеты аудио с переменной скоростью передачи от буфера, должны вызвать этот метод для определения продолжительности каждой выборки в буфере. Если этот метод вызывается на a, этот метод повышает NSInternalInconsistencyException
QTSampleBufferобъект, не описывающий буфер аудиосэмпла.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
incrementSampleUseCount - incrementSampleUseCount(OS X v10.9)Постепенно увеличивает количество использования демонстрационных данных, принадлежавших получателю, препятствуя тому, чтобы демонстрационные данные были лишены законной силы до соответствующего вызова к
decrementSampleUseCount.Объявление
Objective C
- (void)incrementSampleUseCountОбсуждение
Когда буферы потенциально памяти большой емкости, принадлежавшие получателю, освобождены, этот метод позволяет клиентам управлять. Недавно выделенный
QTSampleBufferимеет демонстрационное количество использования 1. Когда демонстрационное количество использования спадет 0, память, выделенная для выборок, будет освобождена иbytesForAllSamples,lengthForAllSamples, иaudioBufferListWithOptions:методы каждый бросят NSInternalInconsistencyException, когда вызвано.Этот метод походит
NSObjectсохраните метод, в котором это позволяет клиентам объявлять владение по данным, содержавшим в демонстрационном буфере. В частности клиенты заинтересовали демонстрационными даннымиQTSampleBufferобъекты, возвращенные другим APIs в QTKit, должны вызвать этот метод, чтобы гарантировать, чтобы у них были доступ к демонстрационным данным и более поздний вызовdecrementSampleUseCountкогда им больше не нужны те данные. Особенно важно, чтобы клиенты, использующие сборку «мусора», гарантировали, что демонстрационное количество использования 0, когда они больше не требуют демонстрационных данных, принадлежавших aQTSampleBuffer, так, чтобы память могла быть освобождена быстро скорее чем, когда завершен объект.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
lengthForAllSamples - lengthForAllSamples(OS X v10.9)Возвращает длину буфера, возвращенного
bytesForAllSamples.Объявление
Objective C
- (NSUInteger)lengthForAllSamplesВозвращаемое значение
Длина, в байтах буфера, возвращенного
bytesForAllSamples.Обсуждение
Клиенты, читающие байты из указателя, возвращенного
bytesForAllSamplesдолжен использовать этот метод для проверки общей длины буфера. Этот метод бросит NSInternalInconsistencyException, если вызвано послеdecrementSampleUseCountиспользовался для лишения законной силы данных носителей, содержавшихся в демонстрационном буфере.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
numberOfSamples - numberOfSamples(OS X v10.9)Возвращает число выборок носителей, содержавшихся в буфере.
Объявление
Objective C
- (NSUInteger)numberOfSamplesВозвращаемое значение
Число выборок в буфере.
Обсуждение
В целом видео буферы будут всегда содержать одну выборку (единственный кадр), в то время как аудио буферы могут содержать многократные выборки. Приложения, которые должны интерпретировать аудио с переменной скоростью передачи, могут получить отдельные демонстрационные длины с
getAudioStreamPacketDescriptions:inRange:метод.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
presentationTime - presentationTime(OS X v10.9)Возвращает время представления буфера.
Объявление
Objective C
- (QTTime)presentationTimeВозвращаемое значение
A
QTTimeпредставление времени представления буфера. Для носителей видео B-кадра время представления может отличаться отdecodeTime.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
sampleBufferAttributes - sampleBufferAttributes(OS X v10.9)Возвращает словарь текущего attirbutes демонстрационного буфера.
Объявление
Objective C
- (NSDictionary *)sampleBufferAttributesВозвращаемое значение
Словарь атрибутов, присоединенных к демонстрационному буферу. Ключи атрибута описаны в разделе Constants, обсуждающем атрибуты.
Обсуждение
Приложения могут использовать этот метод для определения то, что приписывает определенный демонстрационный буфер поддержки.
Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
sampleUseCount - sampleUseCount(OS X v10.9)Возвращает количество использования демонстрационных данных, принадлежавших получателю.
Объявление
Objective C
- (NSUInteger)sampleUseCountВозвращаемое значение
Количество использования демонстрационных данных принадлежит получателю.
Обсуждение
Этот метод возвращает количество использования данных, принадлежавших получателю, как определено купите число вызовов
incrementSampleUseCountиdecrementSampleUseCount. Если значение retunred этим методом 0, то данные, принадлежавшие получателю, были лишены законной силы иbytesForAllSamples,lengthForAllSamples, иaudioBufferListWithOptions:методы wil бросают NSInternalInconsistencyException. Клиенты должны редко должны быть вызвать этот метод. Это обычно только полезно для отладки целей.Оператор импорта
Objective C
@import QTKit;Доступность
OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
Следующее является константами для различных демонстрационных буферных атрибутов.
Объявление
Objective C
NSString * const QTSampleBufferHostTimeAttribute; NSString * const QTSampleBufferSMPTETimeAttribute NSString * const QTSampleBufferSceneChangeTypeAttribute; NSString * const QTSampleBufferDateRecordedAttribute; NSString * const QTSampleBufferExplicitSceneChange; NSString * const QTSampleBufferTimeStampDiscontinuitySceneChange;Константы
-
QTSampleBufferHostTimeAttributeQTSampleBufferHostTimeAttributeЕсли буфер из оперативного источника, возвращает время узла буфера.
Значение, возвращенное этим атрибутом, может быть по сравнению с возвращаемым значением
CVGetCurrentHostTime()илиAudioGetCurrentHostTime()определить, слишком опаздывает ли это в буфер, который будет обработан в режиме реального времени. ЗначениеNSNumberинтерпретируемый как UInt64. Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
QTSampleBufferSMPTETimeAttributeQTSampleBufferSMPTETimeAttributeВозвращает временной код SMPTE демонстрационного буфера, если это имеет тот.
Значение
NSValueинтерпретируемый как aSMPTETime(определенный вCoreAudio/CoreAudioTypes.h). Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
QTSampleBufferSceneChangeTypeAttributeQTSampleBufferSceneChangeTypeAttributeЕсли буфер отмечает изменение сцены во входном содержании, возвращает константу.
Возвращенная константа указывает тип изменения сцены. Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
QTSampleBufferDateRecordedAttributeQTSampleBufferDateRecordedAttributeВозвращает дату, на которую носители в буфере был первоначально зарегистрирован.
Значение
NSDate. Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
QTSampleBufferExplicitSceneChangeQTSampleBufferExplicitSceneChangeУказывает, что изменение сцены было явно отмечено в метаданных демонстрационного буфера.
Эта константа возвращается
QTSampleBufferSceneChangeTypeAttributeуказание, какое изменение сцены, если таковые имеются, отмечено демонстрационным буфером.Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
QTSampleBufferTimeStampDiscontinuitySceneChangeQTSampleBufferTimeStampDiscontinuitySceneChangeУказывает, что сцена изменилась вследствие разрыва в метках времени между текущим демонстрационным буфером и предыдущим демонстрационным буфером.
Эта константа возвращается
QTSampleBufferSceneChangeTypeAttributeуказание, какая сцена chnage, если таковые имеются, отмечена демонстрационным буфером.Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.9.
-
