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

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

Разработчик

Ссылка платформы QTKit ссылка класса QTSampleBuffer

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

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

QTSampleBuffer

Этот класс обеспечивает данные о формате, информацию синхронизации и метаданные по демонстрационным буферам носителей. QTSampleBuffer объекты содержат данные от выборок носителей, а также метаданных о тех выборках, включая данные о формате, информацию синхронизации и другие атрибуты. К некоторой расширенной информации можно получить доступ через QTSampleBuffer attributeForKey: и sampleBufferAttributes методы, с помощью ключей описаны в разделе Constants. В дополнение к этим явным методам приложения могут использовать кодирование значения ключа для получения расширенных атрибутов. Для объекта, поддерживающего данный атрибут, valueForKey: будет функционально идентично attributeForKey:. Приложения, желающие наблюдать изменения для данного атрибута, могут добавить наблюдателя значения ключа, где ключевой путь является ключом атрибута.

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


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


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


Swift

import QTKit

Objective C

@import QTKit;

Доступность


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

    Объявление

    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.

  • Возвращает указатель на 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.

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

    Объявление

    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.

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

    Объявление

    Objective C

    - (void)decrementSampleUseCount

    Обсуждение

    Когда буферы потенциально памяти большой емкости, принадлежавшие получателю, освобождены, этот метод позволяет клиентам управлять. Недавно выделенный QTSampleBuffer имеет демонстрационное количество использования 1. Когда демонстрационное количество использования спадет 0, память, выделенная для выборок, будет освобождена и bytesForAllSamples, lengthForAllSamples, иaudioBufferListWithOptions:методы каждый бросят NSInternalInconsistencyException, когда вызвано.

    Этот метод походит на метод выпуска NSObject, в котором он позволяет клиентам оставлять владение по данным, содержавшим в демонстрационном буфере. В частности вызвавшие клиенты incrementSampleUseCount потому что они интересовались демонстрационными данными QTSampleBuffer объекты, возвращенные другим APIs в QTKit, должны вызвать этот метод, когда им больше не нужны те данные. Особенно важно, чтобы клиенты, использующие сборку «мусора», гарантировали, что демонстрационное количество использования 0, когда они больше не требуют демонстрационных данных, принадлежавших a QTSampleBuffer, так, чтобы память могла быть освобождена быстро скорее чем, когда завершен объект.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Возвращает продолжительность буфера.

    Объявление

    Objective C

    - (QTTime)duration

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

    A QTTime представление продолжительности буфера.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в 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 *)audioStreamPacketDescriptions inRange:(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.

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

    Объявление

    Objective C

    - (void)incrementSampleUseCount

    Обсуждение

    Когда буферы потенциально памяти большой емкости, принадлежавшие получателю, освобождены, этот метод позволяет клиентам управлять. Недавно выделенный QTSampleBuffer имеет демонстрационное количество использования 1. Когда демонстрационное количество использования спадет 0, память, выделенная для выборок, будет освобождена и bytesForAllSamples, lengthForAllSamples, и audioBufferListWithOptions: методы каждый бросят NSInternalInconsistencyException, когда вызвано.

    Этот метод походит NSObject сохраните метод, в котором это позволяет клиентам объявлять владение по данным, содержавшим в демонстрационном буфере. В частности клиенты заинтересовали демонстрационными данными QTSampleBuffer объекты, возвращенные другим APIs в QTKit, должны вызвать этот метод, чтобы гарантировать, чтобы у них были доступ к демонстрационным данным и более поздний вызов decrementSampleUseCount когда им больше не нужны те данные. Особенно важно, чтобы клиенты, использующие сборку «мусора», гарантировали, что демонстрационное количество использования 0, когда они больше не требуют демонстрационных данных, принадлежавших a QTSampleBuffer, так, чтобы память могла быть освобождена быстро скорее чем, когда завершен объект.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в 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.

  • Возвращает число выборок носителей, содержавшихся в буфере.

    Объявление

    Objective C

    - (NSUInteger)numberOfSamples

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

    Число выборок в буфере.

    Обсуждение

    В целом видео буферы будут всегда содержать одну выборку (единственный кадр), в то время как аудио буферы могут содержать многократные выборки. Приложения, которые должны интерпретировать аудио с переменной скоростью передачи, могут получить отдельные демонстрационные длины с getAudioStreamPacketDescriptions:inRange: метод.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Возвращает время представления буфера.

    Объявление

    Objective C

    - (QTTime)presentationTime

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

    A QTTime представление времени представления буфера. Для носителей видео B-кадра время представления может отличаться от decodeTime.

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в OS X v10.9.

  • Возвращает словарь текущего attirbutes демонстрационного буфера.

    Объявление

    Objective C

    - (NSDictionary *)sampleBufferAttributes

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

    Словарь атрибутов, присоединенных к демонстрационному буферу. Ключи атрибута описаны в разделе Constants, обсуждающем атрибуты.

    Обсуждение

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

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

    Objective C

    @import QTKit;

    Доступность

    OS X v10.5 и позже.

    Осуждаемый в 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;

    Константы

    • QTSampleBufferHostTimeAttribute

      QTSampleBufferHostTimeAttribute

      Если буфер из оперативного источника, возвращает время узла буфера.

      Значение, возвращенное этим атрибутом, может быть по сравнению с возвращаемым значением CVGetCurrentHostTime() или AudioGetCurrentHostTime() определить, слишком опаздывает ли это в буфер, который будет обработан в режиме реального времени. Значение NSNumber интерпретируемый как UInt64. Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.9.

    • QTSampleBufferSMPTETimeAttribute

      QTSampleBufferSMPTETimeAttribute

      Возвращает временной код SMPTE демонстрационного буфера, если это имеет тот.

      Значение NSValue интерпретируемый как a SMPTETime (определенный в CoreAudio/CoreAudioTypes.h). Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.9.

    • QTSampleBufferSceneChangeTypeAttribute

      QTSampleBufferSceneChangeTypeAttribute

      Если буфер отмечает изменение сцены во входном содержании, возвращает константу.

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

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.9.

    • QTSampleBufferDateRecordedAttribute

      QTSampleBufferDateRecordedAttribute

      Возвращает дату, на которую носители в буфере был первоначально зарегистрирован.

      Значение NSDate. Это строковое значение может использоваться по ключевым путям для кодирования значения ключа, наблюдения значения ключа и привязки.

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.9.

    • QTSampleBufferExplicitSceneChange

      QTSampleBufferExplicitSceneChange

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

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

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.9.

    • QTSampleBufferTimeStampDiscontinuitySceneChange

      QTSampleBufferTimeStampDiscontinuitySceneChange

      Указывает, что сцена изменилась вследствие разрыва в метках времени между текущим демонстрационным буфером и предыдущим демонстрационным буфером.

      Эта константа возвращается QTSampleBufferSceneChangeTypeAttribute указание, какая сцена chnage, если таковые имеются, отмечена демонстрационным буфером.

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.9.