AVAssetReader
Вы используете AVAssetReader объект получить данные носителей актива, основан ли актив на файле или представляет совокупность данных носителей из многократных источников (как с AVComposition объект).
AVAssetReader позволяет Вам:
Считайте сырые данные недекодируемые выборки носителей непосредственно от хранения, получите выборки, декодируемые в renderable формы.
Смешайте многократные аудиотреки актива и составьте многократные видеотреки (при помощи
AVAssetReaderAudioMixOutputиAVAssetReaderVideoCompositionOutput).
AVAssetReaderконвейеры многопоточны внутренне. После инициирования чтения с initWithAsset:error:, читатель загружает и обрабатывает разумную сумму демонстрационных данных перед использованием так, чтобы операции извлечения такой как copyNextSampleBuffer (AVAssetReaderOutput) может иметь очень низкую задержку.
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует читателя актива для чтения данных носителей из указанного актива.
Объявление
Swift
init!(assetasset: AVAsset!, erroroutError: NSErrorPointer)Параметры
assetАктив, из которого должны быть считаны данные носителей.
outErrorЕсли инициализация сбоев читателя, по возврату содержит ошибку, описывающую проблему.
Возвращаемое значение
Читатель актива, инициализированный для чтения данных носителей из
asset.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает читателя актива для чтения данных носителей из указанного актива.
Объявление
Параметры
assetАктив, из которого должны быть считаны данные носителей.
outErrorЕсли инициализация сбоев читателя, по возврату содержит ошибку, описывающую проблему.
Возвращаемое значение
Читатель актива, инициализированный для чтения данных носителей из
asset.Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Выводы, из которых клиенты читателя могут считать данные носителей. (только для чтения)
Объявление
Swift
var outputs: [AnyObject]! { get }Objective C
@property(nonatomic, readonly) NSArray *outputsОбсуждение
Массив содержит конкретные экземпляры
AVAssetReaderOutputсвязанный с читателем.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Добавляет данный вывод к получателю.
Объявление
Swift
func addOutput(_output: AVAssetReaderOutput!)Objective C
- (void)addOutput:(AVAssetReaderOutput *)outputПараметры
outputЧитатель вывел для добавления.
Обсуждение
Выводы создаются со ссылкой на один или больше
AVAssetTrackобъекты. Добавление вывода читателю актива указывает читателю, что должно получить от тех дорожек. Дорожки должны принадлежать активу, возвращенному читателемassetсвойство.Вы не можете добавить вывод после того, как запустилось чтение.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает булево значение, указывающее, может ли данный вывод быть добавлен к получателю.
Объявление
Swift
func canAddOutput(_output: AVAssetReaderOutput!) -> BoolObjective C
- (BOOL)canAddOutput:(AVAssetReaderOutput *)outputПараметры
outputЧитатель вывел, чтобы быть протестированным.
Возвращаемое значение
YEStrueеслиoutputможет быть добавлен к получателю, иначеNOfalse.Обсуждение
Вы не можете добавить вывод, читающий из дорожки актива кроме актива, используемого для инициализации получателя.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Состояние чтения демонстрационных буферов от актива. (только для чтения)
Объявление
Swift
var status: AVAssetReaderStatus { get }Objective C
@property(readonly) AVAssetReaderStatus statusОбсуждение
Это свойство ориентировано на многопотоковое исполнение. Для возможных значений посмотрите AVAssetReaderStatus.
Значение этого свойства указывает, происходит ли чтение, завершилось успешно, было отменено или перестало работать. Необходимо проверить значение этого свойства после
AVAssetReaderOutputметодcopyNextSampleBufferвозвратыNULLопределить, почему не могло быть считано больше выборок.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Подготавливает получатель к получению демонстрационных буферов от актива.
Объявление
Swift
func startReading() -> BoolObjective C
- (BOOL)startReadingВозвращаемое значение
YEStrueесли читатель в состоянии начать читать, иначеNOfalse.Обсуждение
Этот метод проверяет весь набор настроек для выводов для дорожек, для аудио mixdown, и для видео состава и инициирует чтение всех выводов.
statusесли отказ происходит, сигнализирует терминальное состояние читателя актива, иerrorописывает отказ.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Отмены любая фоновая работа и препятствуют тому, чтобы выводы получателя читали больше выборок.
Объявление
Swift
func cancelReading()Objective C
- (void)cancelReadingОбсуждение
Если Вы хотите прекратить читать выборки из получателя прежде, чем достигнуть конца его диапазона времени, необходимо вызвать этот метод для остановки любого фонового чтения вперед операции, что можение произошло.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Описывает ошибку, произошедшую, если состояние
AVAssetReaderStatusFailed. (только для чтения)Обсуждение
Это свойство ориентировано на многопотоковое исполнение.
Значение этого свойства описывает то, что заставило читателя больше не быть в состоянии считать его актив. Если состояние читателя не
AVAssetReaderStatusFailed, значение этого свойстваnil.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Диапазон времени актива, который должен быть считан.
Обсуждение
Пересечение значения этого свойства и
CMTimeRangeMake(kCMTimeZero, asset.duration)определяет диапазон времени актива, из которого будут считаны данные носителей.Значение по умолчанию
CMTimeRangeMake(kCMTimeZero, kCMTimePositiveInfinity).Вы не можете изменить значение этого свойства после того, как запустилось чтение.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Актив, с которым был инициализирован получатель. (только для чтения)
Объявление
Swift
var asset: AVAsset! { get }Objective C
@property(nonatomic, retain, readonly) AVAsset *assetОбсуждение
Конкретные экземпляры
AVAssetReaderс определеннымAVAssetTrackэкземпляры должны получить те дорожки из актива, возвращенного этим свойством.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Константы, указывающие состояние читателя.
Объявление
Swift
enum AVAssetReaderStatus : Int { case Unknown case Reading case Completed case Failed case Cancelled }Objective C
enum { AVAssetReaderStatusUnknown = 0, AVAssetReaderStatusReading, AVAssetReaderStatusCompleted, AVAssetReaderStatusFailed, AVAssetReaderStatusCancelled, }; typedef NSInteger AVAssetReaderStatus;Константы
-
UnknownAVAssetReaderStatusUnknownУказывает это
startReadingеще не был вызван.Доступный в OS X v10.7 и позже.
-
ReadingAVAssetReaderStatusReadingУказывает, что читатель готов обеспечить более демонстрационные буферы для его выводов.
Доступный в OS X v10.7 и позже.
-
CompletedAVAssetReaderStatusCompletedУказывает, что читатель обеспечил все доступные демонстрационные буферы для всех его выводов.
Доступный в OS X v10.7 и позже.
-
FailedAVAssetReaderStatusFailedУказывает то отказавшее чтение.
Доступный в OS X v10.7 и позже.
-
CancelledAVAssetReaderStatusCancelledУказывает, что чтение было отменено с помощью
cancelReading.Доступный в OS X v10.7 и позже.
Обсуждение
Вы получаете доступ к состоянию читателя с помощью
statusсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
