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

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

Разработчик

Ссылка платформы AVFoundation ссылка класса AVSampleBufferDisplayLayer

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

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

AVSampleBufferDisplayLayer

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


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


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


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

AVSampleBufferDisplayLayer класс является подклассом CALayer это выводит на экран сжатые или несжатые видеокадры.

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

    Объявление

    Swift

    func requestMediaDataWhenReadyOnQueue(_ queue: dispatch_queue_t!, usingBlock block: (() -> Void)!)

    Objective C

    - (void)requestMediaDataWhenReadyOnQueue:(dispatch_queue_t)queue usingBlock:(void (^)(void))block

    Параметры

    queue

    Очередь отгрузки.

    block

    Блок, предоставляющий данные носителей.

    Обсуждение

    Блок, как ожидают, вызовет enqueueSampleBuffer: для предоставления данных носителей для распаковки (если необходимый) и рендеринг в то время как readyForMoreMediaData свойство остается YEStrue, или пока это не может обеспечить дополнительные носители. Когда уровень декодировал достаточно данных носителей, что это готово к дополнительным данным носителей, это вызовет блок снова.

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

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

    Вы вызываете stopRequestingMediaData метод для отмены этого запроса.

    Каждый вызов к requestMediaDataWhenReadyOnQueue:usingBlock: должен быть сбалансирован с соответствующего вызова к stopRequestingMediaData.

    Выпуск экземпляра получателя без вызова к stopRequestingMediaData приведет к неопределенному поведению.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • readyForMoreMediaData Свойство

    Булево значение, указывающее готовность уровня принять более демонстрационные буферы. (только для чтения)

    Объявление

    Swift

    var readyForMoreMediaData: Bool { get }

    Objective C

    @property(readonly, getter=isReadyForMoreMediaData) BOOL readyForMoreMediaData

    Обсуждение

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

    Клиентские демонстрационные буферы постановки в очередь из источников нев реальном времени могут удержать от генерации или получения более демонстрационных буферов для постановки в очередь когда значение readyForMoreMediaData NOfalse.

    Безопасно вызвать enqueueSampleBuffer: когда readyForMoreMediaData NOfalse, но enqueing, более демонстрационные буферы, чем требуются для своевременного рендеринга получателем, высоко обескураживают.

    Для помощи с управлением предоставления нев реальном времени демонстрационных буферов такие клиенты должны использовать requestMediaDataWhenReadyOnQueue:usingBlock: для указания блока, который уровень должен вызвать каждый раз, когда это готово к демонстрационным буферам быть добавленным.

    Значение readyForMoreMediaData будет часто изменяться от NOfalse к YEStrue асинхронно, поскольку ранее предоставленные демонстрационные буферы декодируются и выводятся на экран.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Отмены любой текущий запрос данных носителей.

    Объявление

    Swift

    func stopRequestingMediaData()

    Objective C

    - (void)stopRequestingMediaData

    Обсуждение

    Этот метод отменяет любой ток requestMediaDataWhenReadyOnQueue:usingBlock: вызвать. Каждый вызов requestMediaDataWhenReadyOnQueue:usingBlock: должен быть сбалансирован вызовом к этому методу.

    Этот метод можно вызвать из requestMediaDataWhenReadyOnQueue:usingBlock: блок метода или извне блока.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Дает уровню команду отбрасывать находящиеся на рассмотрении ставившие в очередь демонстрационные буферы.

    Объявление

    Swift

    func flush()

    Objective C

    - (void)flush

    Обсуждение

    Поскольку не возможно определить, какие демонстрационные буферы декодировались, следующий кадр передал enqueueSampleBuffer: должен быть кадр IDR (также известный как ключевой кадр или синхронизирующая выборка).

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

    См. также

    – flushAndRemoveImage

  • Сообщает, что уровень для отбрасывания ожидания ставил в очередь демонстрационные буферы, и удалите любое в настоящее время выводимое на экран изображение.

    Объявление

    Swift

    func flushAndRemoveImage()

    Objective C

    - (void)flushAndRemoveImage

    Обсуждение

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

    См. также

    – сброс

  • controlTimebase Свойство

    Управление уровня timebase, который управляет, как интерпретируются метки времени.

    Объявление

    Swift

    var controlTimebase: CMTimebase!

    Objective C

    @property(retain) CMTimebaseRef controlTimebase

    Обсуждение

    По умолчанию это свойство NULL, когда метки времени интерпретируются согласно таймеру узла (mach_absolute_time с надлежащим преобразованием масштаба времени; это совпадает с Базовой Анимацией CACurrentMediaTime). Без управления timebase, как только кадры ставятся в очередь, не возможно корректироваться точно, когда они выведены на экран.

    Если не -NULL управление timebase установлено, оно используется для интерпретации меток времени. Вы управляете синхронизацией дисплея кадра путем установки уровня и время управления timebase.

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

    См. также

    – enqueueSampleBuffer:

  • Отправляет демонстрационный буфер за дисплеем.

    Объявление

    Swift

    func enqueueSampleBuffer(_ sampleBuffer: CMSampleBuffer!)

    Objective C

    - (void)enqueueSampleBuffer:(CMSampleBufferRef)sampleBuffer

    Параметры

    sampleBuffer

    Демонстрационный буфер для отображения.

    Обсуждение

    Если sampleBuffer имеет kCMSampleAttachmentKey_DoNotDisplay присоединяемый набор к kCFBooleanTrue, кадр будет декодироваться, но не выводиться на экран.

    Если sampleBuffer имеет kCMSampleAttachmentKey_DisplayImmediately присоединяемый набор к kCFBooleanTrue, декодируемое изображение будет выведено на экран как можно скорее, заменяя все ранее ставившие в очередь изображения независимо от их меток времени.

    Иначе, декодируемое изображение будет выведено на экран в sampleBuffer выходная метка времени представления, как интерпретируется controlTimebase свойство (или mach_absolute_time временная шкала, если нет никакого управления timebase).

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • videoGravity Свойство

    Строковое определение, как видео выведено на экран в границах rect демонстрационного буферного уровня дисплея.

    Объявление

    Swift

    var videoGravity: String!

    Objective C

    @property(copy) NSString *videoGravity

    Обсуждение

    Строковые значения определяются в Video Gravity. Значение по умолчанию AVLayerVideoGravityResizeAspect.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • error Свойство

    Если состояние указывает отказ, возвращает ошибку. (только для чтения)

    Объявление

    Swift

    var error: NSError! { get }

    Objective C

    @property(nonatomic, readonly) NSError *error

    Обсуждение

    Значение этого свойства NSError это описывает то, что заставило уровень дисплея больше не быть в состоянии ставить в очередь демонстрационные буферы. Если состояние не AVQueuedSampleBufferRenderingStatusFailed, значение этого свойства nil.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • status Свойство

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

    Объявление

    Swift

    var status: AVQueuedSampleBufferRenderingStatus { get }

    Objective C

    @property(nonatomic, readonly) AVQueuedSampleBufferRenderingStatus status

    Обсуждение

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

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

    Это свойство является значением ключа, наблюдающим совместимый.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Константы, описывающие возможные значения status свойство.

    Объявление

    Swift

    enum AVQueuedSampleBufferRenderingStatus : Int { case Unknown case Rendering case Failed }

    Objective C

    enum { AVQueuedSampleBufferRenderingStatusUnknown, AVQueuedSampleBufferRenderingStatusRendering, AVQueuedSampleBufferRenderingStatusFailed }; typedef NSInteger AVQueuedSampleBufferRenderingStatus;

    Константы

    • Unknown

      AVQueuedSampleBufferRenderingStatusUnknown

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

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

    • Rendering

      AVQueuedSampleBufferRenderingStatusRendering

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

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

    • Failed

      AVQueuedSampleBufferRenderingStatusFailed

      Терминальное состояние, указывающее, что получатель больше не может представлять демонстрационные буферы из-за ошибки. Ошибка описана значением error свойство.

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

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Постоянный, который описывает ключ для userInfo поля в AVSampleBufferDisplayLayerFailedToDecodeNotification уведомление.

    Объявление

    Swift

    let AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey: String

    Objective C

    NSString *const AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey;

    Константы

    • AVSampleBufferDisplayLayerFailedToDecodeNotificationErrorKey

      Ключ для соответствующего объекта NSError.

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