AVAssetReader
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 4.1 и позже.
Вы используете AVAssetReader
объект получить данные носителей актива, основан ли актив на файле или представляет совокупность данных носителей из многократных источников (как с AVComposition
объект).
AVAssetReader
позволяет Вам:
Считайте сырые данные недекодируемые выборки носителей непосредственно от хранения, получите выборки, декодируемые в renderable формы.
Смешайте многократные аудиотреки актива и составьте многократные видеотреки (при помощи
AVAssetReaderAudioMixOutput
иAVAssetReaderVideoCompositionOutput
).
AVAssetReader
конвейеры многопоточны внутренне. После инициирования чтения с initWithAsset:error:
, читатель загружает и обрабатывает разумную сумму демонстрационных данных перед использованием так, чтобы операции извлечения такой как copyNextSampleBuffer
(AVAssetReaderOutput
) может иметь очень низкую задержку.
-
Инициализирует читателя актива для чтения данных носителей из указанного актива.
Объявление
Swift
init!(asset
asset
: AVAsset!, erroroutError
: NSErrorPointer)Параметры
asset
Актив, из которого должны быть считаны данные носителей.
outError
Если инициализация сбоев читателя, по возврату содержит ошибку, описывающую проблему.
Возвращаемое значение
Читатель актива, инициализированный для чтения данных носителей из
asset
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
Возвращает читателя актива для чтения данных носителей из указанного актива.
Объявление
Параметры
asset
Актив, из которого должны быть считаны данные носителей.
outError
Если инициализация сбоев читателя, по возврату содержит ошибку, описывающую проблему.
Возвращаемое значение
Читатель актива, инициализированный для чтения данных носителей из
asset
.Оператор импорта
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
outputs
СвойствоВыводы, из которых клиенты читателя могут считать данные носителей. (только для чтения)
Объявление
Swift
var outputs: [AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSArray *outputs
Обсуждение
Массив содержит конкретные экземпляры
AVAssetReaderOutput
связанный с читателем.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
Добавляет данный вывод к получателю.
Объявление
Swift
func addOutput(_
output
: AVAssetReaderOutput!)Objective C
- (void)addOutput:(AVAssetReaderOutput *)
output
Параметры
output
Читатель вывел для добавления.
Обсуждение
Выводы создаются со ссылкой на один или больше
AVAssetTrack
объекты. Добавление вывода читателю актива указывает читателю, что должно получить от тех дорожек. Дорожки должны принадлежать активу, возвращенному читателемasset
свойство.Вы не можете добавить вывод после того, как запустилось чтение.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
Возвращает булево значение, указывающее, может ли данный вывод быть добавлен к получателю.
Объявление
Swift
func canAddOutput(_
output
: AVAssetReaderOutput!) -> BoolObjective C
- (BOOL)canAddOutput:(AVAssetReaderOutput *)
output
Параметры
output
Читатель вывел, чтобы быть протестированным.
Возвращаемое значение
YES
true
еслиoutput
может быть добавлен к получателю, иначеNO
false
.Обсуждение
Вы не можете добавить вывод, читающий из дорожки актива кроме актива, используемого для инициализации получателя.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
status
СвойствоСостояние чтения демонстрационных буферов от актива. (только для чтения)
Объявление
Swift
var status: AVAssetReaderStatus { get }
Objective C
@property(readonly) AVAssetReaderStatus status
Обсуждение
Это свойство ориентировано на многопотоковое исполнение. Для возможных значений посмотрите AVAssetReaderStatus.
Значение этого свойства указывает, происходит ли чтение, завершилось успешно, было отменено или перестало работать. Необходимо проверить значение этого свойства после
AVAssetReaderOutput
методcopyNextSampleBuffer
возвратыNULL
определить, почему не могло быть считано больше выборок.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-
Подготавливает получатель к получению демонстрационных буферов от актива.
Объявление
Swift
func startReading() -> Bool
Objective C
- (BOOL)startReading
Возвращаемое значение
YES
true
если читатель в состоянии начать читать, иначеNO
false
.Обсуждение
Этот метод проверяет весь набор настроек для выводов для дорожек, для аудио mixdown, и для видео состава и инициирует чтение всех выводов.
status
если отказ происходит, сигнализирует терминальное состояние читателя актива, иerror
описывает отказ.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
Отмены любая фоновая работа и препятствуют тому, чтобы выводы получателя читали больше выборок.
Объявление
Swift
func cancelReading()
Objective C
- (void)cancelReading
Обсуждение
Если Вы хотите прекратить читать выборки из получателя прежде, чем достигнуть конца его диапазона времени, необходимо вызвать этот метод для остановки любого фонового чтения вперед операции, что можение произошло.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
error
СвойствоОписывает ошибку, произошедшую, если состояние
AVAssetReaderStatusFailed
. (только для чтения)Обсуждение
Это свойство ориентировано на многопотоковое исполнение.
Значение этого свойства описывает то, что заставило читателя больше не быть в состоянии считать его актив. Если состояние читателя не
AVAssetReaderStatusFailed
, значение этого свойстваnil
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
См. также
-
timeRange
СвойствоДиапазон времени актива, который должен быть считан.
Обсуждение
Пересечение значения этого свойства и
CMTimeRangeMake(kCMTimeZero, asset.duration)
определяет диапазон времени актива, из которого будут считаны данные носителей.Значение по умолчанию
CMTimeRangeMake(kCMTimeZero, kCMTimePositiveInfinity)
.Вы не можете изменить значение этого свойства после того, как запустилось чтение.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-
asset
СвойствоАктив, с которым был инициализирован получатель. (только для чтения)
Объявление
Swift
var asset: AVAsset! { get }
Objective C
@property(nonatomic, retain, readonly) AVAsset *asset
Обсуждение
Конкретные экземпляры
AVAssetReader
с определеннымAVAssetTrack
экземпляры должны получить те дорожки из актива, возвращенного этим свойством.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-
Константы, указывающие состояние читателя.
Объявление
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;
Константы
-
Unknown
AVAssetReaderStatusUnknown
Указывает это
startReading
еще не был вызван.Доступный в iOS 4.1 и позже.
-
Reading
AVAssetReaderStatusReading
Указывает, что читатель готов обеспечить более демонстрационные буферы для его выводов.
Доступный в iOS 4.1 и позже.
-
Completed
AVAssetReaderStatusCompleted
Указывает, что читатель обеспечил все доступные демонстрационные буферы для всех его выводов.
Доступный в iOS 4.1 и позже.
-
Failed
AVAssetReaderStatusFailed
Указывает то отказавшее чтение.
Доступный в iOS 4.1 и позже.
-
Cancelled
AVAssetReaderStatusCancelled
Указывает, что чтение было отменено с помощью
cancelReading
.Доступный в iOS 4.1 и позже.
Обсуждение
Вы получаете доступ к состоянию читателя с помощью
status
свойство.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.1 и позже.
-