AVAssetImageGenerator
AVAssetImageGenerator объект обеспечивает миниатюру или изображения предварительного просмотра активов независимо от воспроизведения.
AVAssetImageGenerator использует включенный видеотрек (и) значения по умолчанию для генерации изображений. Генерация единственного изображения в изоляции может потребовать декодирования большого количества видеокадров со сложными взаимозависимостями. При требовании серии изображений можно достигнуть намного большей эффективности с помощью асинхронного метода, generateCGImagesAsynchronouslyForTimes:completionHandler:, который использует эффективность декодирования, подобную используемым во время воспроизведения.
Вы создаете использование генератора актива initWithAsset: или assetImageGeneratorWithAsset:. Даже если актив не обладает никакими визуальными дорожками во время инициализации, эти методы могут успешно выполниться. Можно протестировать, имеет ли актив какие-либо дорожки с визуальной характеристикой с помощью AVAsset метод классаtracksWithMediaCharacteristic:.
Фактическое время сгенерированного изображения в диапазоне [requestedTime-requestedTimeToleranceBefore, requestedTime+requestedTimeToleranceAfter] и может отличаться с требуемого времени для эффективности.
Активы, представляющие непостоянные составы или непостоянные фильмы, могут получить визуальные дорожки после инициализации связанного генератора изображения.
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Инициализирует генератор изображения для использования с указанным активом.
Объявление
Swift
init!(assetasset: AVAsset!)Objective C
- (instancetype)initWithAsset:(AVAsset *)assetПараметры
assetАктив, из которого будут извлечены изображения.
Возвращаемое значение
Генератор изображения, инициализированный для использования с
asset.Обсуждение
Даже если актив не обладает никакими визуальными дорожками во время инициализации, этот метод может успешно выполниться.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает генератор изображения для использования с указанным активом.
Объявление
Objective C
+ (AVAssetImageGenerator *)assetImageGeneratorWithAsset:(AVAsset *)assetПараметры
assetАктив, из которого будут извлечены изображения.
Возвращаемое значение
Генератор изображения для использования с
asset.Обсуждение
Даже если актив не обладает никакими визуальными дорожками во время инициализации, этот метод может успешно выполниться.
Оператор импорта
Objective C
@import AVFoundation;Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает CGImage для актива в или около требуемого времени.
Объявление
Swift
func copyCGImageAtTime(_requestedTime: CMTime, actualTimeactualTime: UnsafeMutablePointer<CMTime>, erroroutError: NSErrorPointer) -> CGImage!Objective C
- (CGImageRef)copyCGImageAtTime:(CMTime)requestedTimeactualTime:(CMTime *)actualTimeerror:(NSError **)outErrorПараметры
requestedTimeВремя, в которое должно быть создано изображение актива.
actualTimeПо возврату, содержит время, в которое было фактически сгенерировано изображение.
Если Вы не интересуетесь этой информацией, передачей
NULL.outErrorЕсли ошибка происходит, по возврату содержит
NSErrorобъект, описывающий проблему.Если Вы не интересуетесь этой информацией, передачей
NULL.Возвращаемое значение
CGImage для актива в или около требуемого времени, или
NULLесли не могло бы быть создано изображение.Этот метод соблюдает Создать Правило.
Обсуждение
Этот метод возвращает изображение синхронно.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
generateCGImagesAsynchronouslyForTimes (_: completionHandler:) - generateCGImagesAsynchronouslyForTimes:completionHandler:Создает серию объектов CGImage для актива в или около требуемого времени.
Объявление
Swift
func generateCGImagesAsynchronouslyForTimes(_requestedTimes: [AnyObject]!, completionHandlerhandler: AVAssetImageGeneratorCompletionHandler!)Objective C
- (void)generateCGImagesAsynchronouslyForTimes:(NSArray *)requestedTimescompletionHandler:(AVAssetImageGeneratorCompletionHandler)handlerПараметры
requestedTimesМассив
NSValueобъекты, каждый содержащий aCMTime, указание времен актива, в которые требуют изображение.handlerБлок, который вызывают, когда запрос изображения завершен.
Обсуждение
Этот метод использует эффективный «пакетный режим» для получения изображений в порядке времени.
Клиент получает точно один обратный вызов обработчика в течение каждого требуемого раза в
requestedTimes. Изменения в свойствах генератора (поспешное поведение, максимальный размер, и т.д.) не влияют на незаконченные асинхронные запросы формирования изображения.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Отмены все незаконченные запросы формирования изображения.
Объявление
Swift
func cancelAllCGImageGeneration()Objective C
- (void)cancelAllCGImageGenerationОбсуждение
Это вызовы метода блок обработчика с
AVAssetImageGeneratorCancelledв течение каждого раза изображения в каждом предыдущем вызовеgenerateCGImagesAsynchronouslyForTimes:completionHandler:для которого еще не были предоставлены изображения.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Максимальный отрезок времени перед требуемым временем, в течение которого может быть сгенерировано изображение.
Объявление
Swift
var requestedTimeToleranceBefore: CMTimeObjective C
@property(nonatomic) CMTime requestedTimeToleranceBeforeОбсуждение
Значение по умолчанию
kCMTimePositiveInfinity.Установите значения
requestedTimeToleranceBeforeиrequestedTimeToleranceAfterкkCMTimeZeroзапрашивать точное кадром формирование изображения; это может подвергнуться дополнительной задержке декодирования.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Максимальный отрезок времени после требуемого времени, в течение которого может быть сгенерировано изображение.
Объявление
Swift
var requestedTimeToleranceAfter: CMTimeObjective C
@property(nonatomic) CMTime requestedTimeToleranceAfterОбсуждение
Значение по умолчанию
kCMTimePositiveInfinity.Установите значения
requestedTimeToleranceBeforeиrequestedTimeToleranceAfterкkCMTimeZeroзапрашивать точное кадром формирование изображения; это может подвергнуться дополнительной задержке декодирования.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
apertureMode apertureModeСвойствоУказывает апертурный режим для сгенерированного изображения.
Объявление
Swift
var apertureMode: String!Objective C
@property(nonatomic, copy) NSString *apertureModeОбсуждение
Значение по умолчанию
AVAssetImageGeneratorApertureModeCleanAperture.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Указывает, применить ли матрицу дорожки (или матрицы) при извлечении изображения из актива.
Объявление
Swift
var appliesPreferredTrackTransform: BoolObjective C
@property(nonatomic) BOOL appliesPreferredTrackTransformОбсуждение
Значение по умолчанию
NOfalse.AVAssetImageGeneratorтолько вращение поддержек 90, 180, или 270 градусов.Это свойство проигнорировано при установке значения для
videoCompositionсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Экземпляр
AVAssetс которым был инициализирован AVAssetImageGenerator. (только для чтения)Объявление
Swift
var asset: AVAsset! { get }Objective C
@property(nonatomic, readonly) AVAsset *assetОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.9 и позже.
-
maximumSize maximumSizeСвойствоУказывает максимальные размерности для сгенерированного изображения.
Обсуждение
Значение по умолчанию
CGSizeZero, который указывает немасштабированные размерности актива.AVAssetImageGeneratorмасштабы отображают таким образом, что они соответствуют в определенной ограничительной рамке. Изображения никогда не увеличиваются. Форматное соотношение масштабированного изображения определяетсяapertureModeсвойство.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
videoComposition videoCompositionСвойствоВидео состав для использования при извлечении изображений из активов с многократными видеотреками.
Объявление
Swift
@NSCopying var videoComposition: AVVideoComposition!Objective C
@property(nonatomic, copy) AVVideoComposition *videoCompositionОбсуждение
Если никакой видео состав не будет указан, то только первый включенный видеотрек будет использоваться. Если видео состав указан,
appliesPreferredTrackTransformсвойство проигнорировано.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает пользовательский видео используемый экземпляр наборщика, если любой (только для чтения)
Объявление
Swift
var customVideoCompositor: AVVideoCompositing! { get }Objective C
@property(nonatomic, readonly) id< AVVideoCompositing > customVideoCompositorОбсуждение
Пользовательский видео экземпляр наборщика, использующийся во время формирования изображения, доступен через это свойство после значения
videoCompositionустановлен вAVVideoCompositionэкземпляр, указывающий пользовательский видео класс наборщика. Любая дополнительная коммуникация между приложением и тем экземпляром пользовательского видео наборщика, если кто-либо требуется для конфигурации или других целей, может только произойти, как только это произошло.Если значение
videoCompositionизменяется отAVVideoCompositionэто указывает пользовательский видео класс наборщика другого экземпляраAVVideoCompositionэто указывает тот же пользовательский видео класс наборщика, экземпляр ранее создававшегося пользовательского видео наборщика получитrenderContextChanged:обменивайтесь сообщениями и останьтесь в использовании для последующего формирования изображения.Это свойство
nilесли внутренний видео наборщик используется, если нет никакого видео наборщика, или.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.9 и позже.
Типы данных
-
Этот тип указывает подпись для блока, вызванного когда
generateCGImagesAsynchronouslyForTimes:completionHandler:завершился.Объявление
Swift
typealias AVAssetImageGeneratorCompletionHandler = (CMTime, CGImage!, CMTime, AVAssetImageGeneratorResult, NSError!) -> VoidObjective C
typedef void (^AVAssetImageGeneratorCompletionHandler)(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error)Обсуждение
Блок берет пять параметров:
requestedTimeВремя, на которое Вы запросили изображение.
imageИзображение, сгенерированное, или
NULLесли не могло бы быть сгенерировано изображение.Этот параметр соблюдает Получить Правило.
actualTimeВремя, в которое было фактически сгенерировано изображение.
resultКод результата, указывающий, успешно выполнился ли процесс формирования изображения, отказавший, или был отменен.
errorЕсли
resultAVAssetImageGeneratorFailed, ошибочный объект, описывающий проблему.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Константы для указания апертурного режима.
Объявление
Swift
let AVAssetImageGeneratorApertureModeCleanAperture: NSString! let AVAssetImageGeneratorApertureModeProductionAperture: NSString! let AVAssetImageGeneratorApertureModeEncodedPixels: NSString!Objective C
NSString *const AVAssetImageGeneratorApertureModeCleanAperture; NSString *const AVAssetImageGeneratorApertureModeProductionAperture; NSString *const AVAssetImageGeneratorApertureModeEncodedPixels;Константы
-
AVAssetImageGeneratorApertureModeCleanApertureAVAssetImageGeneratorApertureModeCleanApertureИ попиксельная пропорция и чистая апертура будут применены..
Доступный в OS X v10.7 и позже.
-
AVAssetImageGeneratorApertureModeProductionApertureAVAssetImageGeneratorApertureModeProductionApertureТолько попиксельная пропорция будет применена.
Доступный в OS X v10.7 и позже.
-
AVAssetImageGeneratorApertureModeEncodedPixelsAVAssetImageGeneratorApertureModeEncodedPixelsНи попиксельная пропорция, ни чистая апертура не будут применены.
Доступный в OS X v10.7 и позже.
-
-
Константы для указания результата формирования изображения.
Объявление
Swift
enum AVAssetImageGeneratorResult : Int { case Succeeded case Failed case Cancelled }Objective C
{ AVAssetImageGeneratorSucceeded, AVAssetImageGeneratorFailed, AVAssetImageGeneratorCancelled, }; typedef NSInteger AVAssetImageGeneratorResult;Константы
-
SucceededAVAssetImageGeneratorSucceededУказывает то формирование изображения, за которым следуют.
Доступный в OS X v10.7 и позже.
-
FailedAVAssetImageGeneratorFailedУказывает то отказавшее формирование изображения.
Доступный в OS X v10.7 и позже.
-
CancelledAVAssetImageGeneratorCancelledУказывает, что было отменено формирование изображения.
Доступный в OS X v10.7 и позже.
Обсуждение
Эти константы используются в блочном обработчике завершения для
generateCGImagesAsynchronouslyForTimes:completionHandler:.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
