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

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

Разработчик

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

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

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

AVAssetReaderOutput

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


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


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


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

AVAssetReaderOutput абстрактный класс, определяющий интерфейс для чтения единственного набора выборок общего типа среды от AVAssetReader объект.

Существует несколько подклассов AVAssetReaderOutput для определенных задач, такой как AVAssetReaderTrackOutput или AVAssetReaderVideoCompositionOutput.

Можно считать данные носителей актива путем добавления один или несколько конкретные экземпляры AVAssetReaderOutput к AVAssetReader объектное использование addOutput:.

  • Синхронно копирует следующий демонстрационный буфер для вывода.

    Объявление

    Swift

    func copyNextSampleBuffer() -> CMSampleBuffer!

    Objective C

    - (CMSampleBufferRef)copyNextSampleBuffer

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

    Выходной демонстрационный буфер, или NULL при отсутствии более демонстрационных буферов, доступных для вывода в диапазоне времени, указанном читателем актива timeRange свойство. Владение соблюдает Создать Правило.

    Обсуждение

    Если возвращается этот метод NULL, необходимо проверить значение связанного AVAssetReader объект status свойство для определения, почему не могло быть считано больше выборок.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • alwaysCopiesSampleData Свойство

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

    Объявление

    Swift

    var alwaysCopiesSampleData: Bool

    Objective C

    @property(nonatomic) BOOL alwaysCopiesSampleData

    Обсуждение

    Когда значение этого свойства YEStrue, вывод всегда продает буфер со скопированными данными — можно свободно изменить данные в таких буферах.

    Когда значение этого свойства NOfalse, продаваемые буферы не могут быть скопированы — на такие буферы могут все еще сослаться другие объекты. Результат изменения буфера, данные которого не были скопированы, не определен.

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

    Значение по умолчанию этого свойства YEStrue

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • mediaType Свойство

    Строка, представляющая тип среды дорожки (или дорожек) представленный выводом. (только для чтения)

    Объявление

    Swift

    var mediaType: String! { get }

    Objective C

    @property(nonatomic, readonly) NSString *mediaType

    Обсуждение

    Значение этого свойства является одной из строк типа среды, определенных в AVMediaFormat.h.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Сообщает получателю, что больше реконфигурирования диапазонов времени не необходимо и позволяет присоединенный AVAssetReader совершенствоваться к AVAssetReaderStatusCompleted.

    Объявление

    Swift

    func markConfigurationAsFinal()

    Objective C

    - (void)markConfigurationAsFinal

    Обсуждение

    Когда значение supportsRandomAccess YEStrue, присоединенный читатель актива не будет совершенствоваться к AVAssetReaderStatusCompleted пока этот метод не вызывают.

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

    Как только этот метод вызвали, дальнейшие вызовы resetForReadingTimeRanges: запрещены.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • Перезапуски, читающие с новым набором диапазонов времени.

    Объявление

    Swift

    func resetForReadingTimeRanges(_ timeRanges: [AnyObject]!)

    Objective C

    - (void)resetForReadingTimeRanges:(NSArray *)timeRanges

    Параметры

    timeRanges

    Массив NSValue объекты, каждый представляющий сингл CMTimeRange структура.

    Обсуждение

    Этот метод может только использоваться если supportsRandomAccess был установлен в YEStrue и может не быть вызван после markConfigurationAsFinal был вызван.

    Этот метод часто используется в сочетании с AVAssetWriter многопроходный. Когда используется как таковой, вызывающая сторона вызывает copyNextSampleBuffer до того метода возвраты NULL и затем спрашивает AVAssetWriterInput для ряда времени колеблется, от которого считается, что должны быть повторно закодированы данные носителей. Эти диапазоны времени тогда передаются этому методу для установки вывода читателя актива для следующей передачи.

    Набор диапазонов времени здесь переопределяет набор диапазона времени на AVAssetReader экземпляр timeRange свойство. Так же, как с тем свойством, в течение каждого раза располагаются в массиве пересечение того диапазона времени и CMTimeRangeMake(kCMTimeZero, asset.duration) вступит в силу. Если времена запуска каждого диапазона раза в массиве строго не увеличиваются или если в два или больше раза диапазоны в перекрытии массива, NSInvalidArgumentException будет повышен. Это - ошибка включать диапазон времени с нечисловым временем начала или продолжительностью (CMTIME_IS_NUMERIC), если продолжительность не kCMTimePositiveInfinity.

    Если этот метод вызывается после состояния присоединенного AVAssetReader экземпляр стал AVAssetReaderStatusFailed или AVAssetReaderStatusCancelled, никакое изменение в состоянии не произойдет и результат следующего вызова к copyNextSampleBuffer будет NULL.

    Если этот метод вызывается, прежде чем все данные носителей были считаны, например, copyNextSampleBuffer еще не возвратился NULL, исключение выдается. Этот метод нельзя вызвать прежде startReading был вызван на присоединенного читателя актива.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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

  • supportsRandomAccess Свойство

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

    Объявление

    Swift

    var supportsRandomAccess: Bool

    Objective C

    @property(nonatomic) BOOL supportsRandomAccess

    Обсуждение

    Когда значение этого свойства YEStrue, диапазоны времени, считанные выводом читателя актива, могут быть реконфигурированы во время чтения использования resetForReadingTimeRanges: метод. Это также предотвращает присоединенный AVAssetReader экземпляр от развития до AVAssetReaderStatusCompleted до markConfigurationAsFinal был вызван.

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

    Это свойство не может быть установлено после startReading был вызван на присоединенном читателе актива.

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

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

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