AVVideoComposition
Наследование
-
NSObject -
AVVideoComposition -
AVMutableVideoComposition
-
NSObject -
AVVideoComposition -
AVMutableVideoComposition
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCopying -
NSMutableCopying -
NSObjectProtocol -
Печатаемый -
NSCopying -
NSMutableCopying -
NSObject
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 4.0 и позже.
AVVideoComposition объект представляет неизменный видео состав.
Платформа Основы AV также обеспечивает непостоянный подкласс, AVMutableVideoComposition, то, что можно использовать для создания новых видео.
Видео состав описывает, в течение любого времени в совокупном диапазоне времени его инструкций, числа и IDs видеотреков, которые должны использоваться для создания составленного видеокадра, соответствующего тому времени. Когда встроенный видео наборщик Основы AV используется, инструкции AVVideoComposition содержите может указать пространственную трансформацию, значение непрозрачности и прямоугольник кадрирования для каждого источника видеосигнала, и они могут варьироваться в течение долгого времени через простые линейные сползающие функции.
Можно реализовать собственного видео наборщика путем реализации AVVideoCompositing протокол; пользовательскому видео наборщику предоставлены пиксельными буферами для каждого из его источников видеосигнала во время воспроизведения и других операций и может выполнить произвольные графические операции на них для создания визуального вывода.
-
Создает и возвращает видео объект состава, сконфигурированный для представления видеотреков указанного актива.
Объявление
Swift
init!(propertiesOfAssetasset: AVAsset!) -> AVVideoCompositionObjective C
+ (AVVideoComposition *)videoCompositionWithPropertiesOfAsset:(AVAsset *)assetПараметры
assetАктив, конфигурация которого соответствует надлежащее использование видео состава.
Возвращаемое значение
Новый видео объект состава.
Обсуждение
Этот метод создает видео объект состава и конфигурирует его со значениями и инструкциями, подходящими для представления видеотреков указанного актива. Возвращенный объект содержит инструкции, уважающие пространственные свойства и диапазоны времени видеотреков указанного актива. Это также конфигурирует свойства объектов следующим образом:
Значение
frameDurationсвойство установлено в значение, достаточно короткое для размещения самого большого номинального значения частоты кадров среди видеотреков актива, как обозначеноnominalFrameRateсвойство каждой дорожки. Если все дорожки актива имеют номинальную частоту кадров 0, частота кадров 30 кадров в секунду используется с набором продолжительности кадра соответственно.Значение присвоилось к
renderSizeсвойство зависит от того, является ли активAVCompositionобъект. Если это, значение установлено в значениеnaturalSizeсвойство состава. Если это не, значение установлено в значение, охватывающее все видеотреки актива.Значение
renderScaleсвойство установлено в1.0.Значение
animationToolсвойство установлено вnil.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 6.0 и позже.
-
frameDurationСвойствоИнтервал, для которого видео состав должен представить составленные видеокадры. (только для чтения)
Объявление
Swift
var frameDuration: CMTime { get }Objective C
@property(nonatomic, readonly) CMTime frameDurationОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 4.0 и позже.
-
renderSizeСвойство -
instructionsСвойствоВидео инструкции состава. (только для чтения)
Объявление
Swift
var instructions: [AnyObject]! { get }Objective C
@property(nonatomic, readonly, copy) NSArray *instructionsОбсуждение
Массив содержит экземпляров
AVVideoCompositionInstruction.Для первой инструкции в массиве,
timeRange.startдолжно быть меньше чем или равно самому раннему времени, в течение которого будут опробованы воспроизведение или другая обработка (обычноkCMTimeZero). Для последующих инструкций,timeRange.startдолжно быть равно времени окончания предшествующей инструкции. Время окончания последней инструкции должно быть больше, чем или равным последнему времени, в течение которого будут опробованы воспроизведение или другая обработка (обычно быть продолжительностью актива, с который экземплярAVVideoCompositionсвязан).Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 4.0 и позже.
-
animationToolСвойствоВидео инструмент состава для использования с Базовой Анимацией в оффлайновом рендеринге. (только для чтения)
Объявление
Swift
var animationTool: AVVideoCompositionCoreAnimationTool! { get }Objective C
@property(nonatomic, readonly, retain) AVVideoCompositionCoreAnimationTool *animationToolОбсуждение
Этот атрибут может быть
nil.Вы устанавливаете инструмент анимации при использовании состава в сочетании с
AVAssetExportSessionдля оффлайнового рендеринга, а не сAVPlayer.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 4.0 и позже.
-
renderScaleСвойствоМасштаб, в котором видео состав должен представить. (только для чтения)
Объявление
Swift
var renderScale: Float { get }Objective C
@property(nonatomic, readonly) float renderScaleОбсуждение
Это значение должно быть 1.0, если состав не установлен на
AVPlayerItem.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 4.0 и позже.
-
customVideoCompositorClassСвойствоПользовательский класс наборщика использования. (только для чтения)
Объявление
Swift
var customVideoCompositorClass: AnyObject.Type! { get }Objective C
@property(nonatomic, readonly) Class< AVVideoCompositing > customVideoCompositorClassОбсуждение
Значение по умолчанию
nil, указание внутреннего видео наборщика используется.customVideoCompositorClassдолжен реализоватьAVVideoCompositingпротокол.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 7.0 и позже.
-
Указывает, соответствуют ли диапазоны времени инструкций состава требованиям проверки.
Объявление
Swift
func isValidForAsset(_asset: AVAsset!, timeRangetimeRange: CMTimeRange, validationDelegatevalidationDelegate: AVVideoCompositionValidationHandling!) -> BoolObjective C
- (BOOL)isValidForAsset:(AVAsset *)assettimeRange:(CMTimeRange)timeRangevalidationDelegate:(id<AVVideoCompositionValidationHandling>)validationDelegateПараметры
assetAVAssetобъект, если Вы хотите проверить диапазоны времени инструкций против продолжительности актива и дорожки IDs инструкций уровня против дорожек актива.Передача
nilпропускать ту проверку.timeRangeДиапазон времени.
Только те инструкции с диапазонами времени, накладывающимися с этим диапазоном времени, будут проверены. Проверить все инструкции, которые могут использоваться для воспроизведения или другой обработки, независимо от диапазона времени, передачи
CMTimeRangeMake(kCMTimeZero, kCMTimePositiveInfinity).validationDelegateУказывает объект, реализовывая
AVVideoCompositionValidationHandlingпротокол для получения подробной информации о проблематичных частях видео состава во время обработки.Передача
nilесли Вы не хотите быть информированными о подробных данных.Возвращаемое значение
YEStrueесли диапазоны времени инструкций состава соответствуют требованиям проверки, иначеNOfalse.Обсуждение
В ходе проверки получатель вызовет своего делегата (если будет один) в отношении любых горячих точек в видео составе.
Этот метод повышает исключение, если делегат изменяет массив получателя инструкций или массив инструкций уровня кого-либо
AVVideoCompositionInstructionобъект, содержавший там во время проверки.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в iOS 5.0 и позже.
