AVMutableCompositionTrack
AVMutableCompositionTrack непостоянный подкласс AVCompositionTrack это позволяет Вам для вставки, удалите, и сегменты дорожки масштаба, не влияя на их низкоуровневое представление (т.е. операции, которые Вы выполняете, являются неразрушающими на оригинале).
AVCompositionTrack определяет ограничения для временного выравнивания сегментов дорожки. При установке массива сегментов дорожки в непостоянном составе (см. trackSegments), можно протестировать, встречают ли сегменты ограничительное использование validateTrackSegments:error:.
Наследование
-
NSObject -
AVAssetTrack -
AVCompositionTrack -
AVMutableCompositionTrack
-
NSObject -
AVAssetTrack -
AVCompositionTrack -
AVMutableCompositionTrack
Соответствует
-
AVAsynchronousKeyValueLoading -
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCopying -
NSObjectProtocol -
Печатаемый -
AVAsynchronousKeyValueLoading -
NSCopying -
NSObject
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Добавляет или расширяет пустой диапазон времени в получателе.
Объявление
Swift
func insertEmptyTimeRange(_timeRange: CMTimeRange)Objective C
- (void)insertEmptyTimeRange:(CMTimeRange)timeRangeПараметры
timeRangeПустое время располагается, чтобы быть вставленным.
Обсуждение
При вставке пустого диапазона времени в дорожку любые носители, который был представлен во время того интервала до вставки, будут представлены вместо этого сразу позже.
Природа вставленных данных зависит от типа среды дорожки. Например, пустой диапазон времени в звуковой дорожке представляет тишину.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Вставляет диапазон времени исходной дорожки.
Объявление
Swift
func insertTimeRange(_timeRange: CMTimeRange, ofTracktrack: AVAssetTrack!, atTimestartTime: CMTime, errorerror: NSErrorPointer) -> BoolObjective C
- (BOOL)insertTimeRange:(CMTimeRange)timeRangeofTrack:(AVAssetTrack *)trackatTime:(CMTime)startTimeerror:(NSError **)errorПараметры
timeRangeДиапазон времени дорожки, которая будет вставлена.
trackИсходная дорожка, которая будет вставлена.
startTimeВремя то, в который
trackдолжен быть представлен дорожкой состава.errorЕсли
trackне вставляется успешно, содержитNSErrorобъект, описывающий проблему.Возвращаемое значение
YEStrueеслиtrackбыл вставлен успешно, иначеNOfalse.Обсуждение
По умолчанию диапазон времени вставляемой дорожки представлен в его естественной продолжительности и уровне. Можно масштабировать его к различной продолжительности (так, чтобы это было представлено на различном уровне), использование
scaleTimeRange:toDuration:.Вставка могла бы перестать работать, если, например, актив, который Вы пытаетесь вставить, ограничивается защитой от копирования.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Вставляет timeRanges многократных исходных дорожек в дорожку состава.
Объявление
Swift
func insertTimeRanges(_timeRanges: [AnyObject]!, ofTrackstracks: [AnyObject]!, atTimestartTime: CMTime, errorerror: NSErrorPointer) -> BoolПараметры
timeRangesМассив
NSValueобъекты, содержащиеCMTimeRangeструктуры, указывающие время, располагаются, чтобы быть вставленными.tracksИсточник отслеживает, чтобы быть вставленным.
Только экземпляры
AVURLAssetподдерживаются.startTimeВремя, в которое вставляемые дорожки должны быть представлены дорожкой состава.
errorПо ошибке происходит, по возврату содержит
NSErrorобъект, описывающий проблему.(Например, актив, выбранный для вставки в составе, ограничивается защитой от копирования.)
Возвращаемое значение
YEStrueесли вставки были успешны, иначеNOfalse.Обсуждение
Этот метод эквивалентен (но более эффективен, чем), вызывающий -
insertTimeRange:ofTrack:atTime:error:: для каждой timeRange/track пары.Если этот метод возвратит ошибку, то ни один из диапазонов времени не будет вставлен в дорожку состава.
Для указания пустого диапазона времени передайте
NSNullобъект для дорожки и диапазона времени запуска вkCMTimeInvalidс продолжительностью желаемого пустого редактирования.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.8 и позже.
См. также
-
Удаляет диапазон требуемого времени от получателя.
Объявление
Swift
func removeTimeRange(_timeRange: CMTimeRange)Objective C
- (void)removeTimeRange:(CMTimeRange)timeRangeПараметры
timeRangeДиапазон времени, который будет удален.
Обсуждение
Удаление диапазона времени не заставляет дорожку быть удаленной из состава. Вместо этого это удаляет или усекает сегменты дорожки, пересекающиеся с диапазоном времени.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Изменяет продолжительность диапазона времени в получателе.
Объявление
Swift
func scaleTimeRange(_timeRange: CMTimeRange, toDurationduration: CMTime)Objective C
- (void)scaleTimeRange:(CMTimeRange)timeRangetoDuration:(CMTime)durationПараметры
timeRangeДиапазон времени дорожки, которая будет масштабироваться.
durationНовая продолжительность
timeRange.Обсуждение
Каждый сегмент дорожки, затронутый операцией масштабирования, будет представлен на уровне, равном
source.duration / target.durationиз его получающегосяtimeMapping.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Массив дорожки состава сегментов дорожки.
Объявление
Swift
var segments: [AnyObject]!Objective C
@property(nonatomic, copy) NSArray *segmentsСпециальные замечания
timeMapping.target.startиз первой дорожки сегмент должен бытьkCMTimeZero, иtimeMapping.target.startиз каждой последующей дорожки сегмент должен равнятьсяCMTimeRangeGetEnd(<#previousTrackSegment#>.timeMapping.target). Можно использоватьvalidateTrackSegments:error:гарантировать, что массив сегментов дорожки соответствует этому правилу.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Возвращает булево значение, указывающее, соответствует ли данный массив сегментов дорожки правилам синхронизации для дорожки состава.
Объявление
Swift
func validateTrackSegments(_trackSegments: [AnyObject]!, errorerror: NSErrorPointer) -> BoolПараметры
trackSegmentsМассив
AVCompositionTrackSegmentобъекты.errorЕсли сбои проверки, по возврату содержит
NSErrorобъект, описывающий проблему.Возвращаемое значение
YEStrueесли сегменты дорожки вtrackSegmentsсоответствуйте правилам синхронизации для дорожки состава, иначеNOfalse.Обсуждение
Можно использовать этот метод, чтобы гарантировать, что массив сегментов дорожки подходит для установки как значение
trackSegmentsсвойство.timeMapping.target.startиз первой дорожки сегмент должен бытьkCMTimeZero, иtimeMapping.target.startиз каждой последующей дорожки сегмент должен равнятьсяCMTimeRangeGetEnd(<#previousTrackSegment#>.timeMapping.target).Если Вы хотите изменить существующее
trackSegmentsмассив, можно создать непостоянную копию его, изменить непостоянный массив, и затем проверить непостоянный массив с помощью этого метода.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
languageCode languageCodeСвойствоЯзык связался с дорожкой как ISO 6392/t код языка.
Объявление
Swift
var languageCode: String!Objective C
@property(nonatomic, copy) NSString *languageCodeОбсуждение
Если не набор, значение
nil.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
extendedLanguageTag extendedLanguageTagСвойствоЯзыковой тег связался с дорожкой как языковой тег RFC 4646.
Объявление
Swift
var extendedLanguageTag: String!Objective C
@property(nonatomic, copy) NSString *extendedLanguageTagОбсуждение
Если не набор, значение
nil.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
naturalTimeScale naturalTimeScaleСвойствоМасштаб времени, в котором на временные стоимости для дорожки можно управлять без постороннего числового преобразования.
Объявление
Swift
var naturalTimeScale: CMTimeScaleObjective C
@property(nonatomic) CMTimeScale naturalTimeScaleОбсуждение
Если нет никаких непустых редактирований, если не набор, значение является естественным масштабом времени первого непустого редактирования, или 600.
Установите значение в
0вернуться к поведению по умолчанию.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
preferredTransform preferredTransformСвойствоПредпочтительная трансформация визуальных данных носителей в целях дисплея.
Объявление
Swift
var preferredTransform: CGAffineTransformObjective C
@property(nonatomic) CGAffineTransform preferredTransformОбсуждение
Если не набор, значение
CGAffineTransformIdentity.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
preferredVolume preferredVolumeСвойствоПредпочтительный объем слышимых данных носителей.
Объявление
Swift
var preferredVolume: FloatObjective C
@property(nonatomic) float preferredVolumeОбсуждение
Если не набор, значение
1.0.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
