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)
timeRange
ofTrack:(AVAssetTrack *)track
atTime:(CMTime)startTime
error:(NSError **)error
Параметры
timeRange
Диапазон времени дорожки, которая будет вставлена.
track
Исходная дорожка, которая будет вставлена.
startTime
Время то, в который
track
должен быть представлен дорожкой состава.error
Если
track
не вставляется успешно, содержитNSError
объект, описывающий проблему.Возвращаемое значение
YES
true
еслиtrack
был вставлен успешно, иначеNO
false
.Обсуждение
По умолчанию диапазон времени вставляемой дорожки представлен в его естественной продолжительности и уровне. Можно масштабировать его к различной продолжительности (так, чтобы это было представлено на различном уровне), использование
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
объект, описывающий проблему.(Например, актив, выбранный для вставки в составе, ограничивается защитой от копирования.)
Возвращаемое значение
YES
true
если вставки были успешны, иначеNO
false
.Обсуждение
Этот метод эквивалентен (но более эффективен, чем), вызывающий -
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)
timeRange
toDuration:(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
объект, описывающий проблему.Возвращаемое значение
YES
true
если сегменты дорожки вtrackSegments
соответствуйте правилам синхронизации для дорожки состава, иначеNO
false
.Обсуждение
Можно использовать этот метод, чтобы гарантировать, что массив сегментов дорожки подходит для установки как значение
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: CMTimeScale
Objective C
@property(nonatomic) CMTimeScale naturalTimeScale
Обсуждение
Если нет никаких непустых редактирований, если не набор, значение является естественным масштабом времени первого непустого редактирования, или 600.
Установите значение в
0
вернуться к поведению по умолчанию.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
preferredTransform preferredTransform
СвойствоПредпочтительная трансформация визуальных данных носителей в целях дисплея.
Объявление
Swift
var preferredTransform: CGAffineTransform
Objective C
@property(nonatomic) CGAffineTransform preferredTransform
Обсуждение
Если не набор, значение
CGAffineTransformIdentity
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
preferredVolume preferredVolume
СвойствоПредпочтительный объем слышимых данных носителей.
Объявление
Swift
var preferredVolume: Float
Objective C
@property(nonatomic) float preferredVolume
Обсуждение
Если не набор, значение
1.0
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.