AVMutableComposition
AVMutableComposition
непостоянный подкласс AVComposition
когда Вы хотите создать новый состав из существующих активов, Вы используете. Можно добавить и удалить дорожки, и можно добавить, удалить и масштабировать диапазоны времени.
Можно сделать неизменный снимок непостоянного состава для воспроизведения или проверки следующим образом:
AVMutableComposition *myMutableComposition =
<#a mutable composition you want to inspect or play in its current state#>;
AVComposition *immutableSnapshotOfMyComposition = [myMutableComposition copy];
// Create a player to inspect and play the composition.
AVPlayerItem *playerItemForSnapshottedComposition =
[[AVPlayerItem alloc] initWithAsset:immutableSnapshotOfMyComposition];
Наследование
-
NSObject
-
AVAsset
-
AVComposition
-
AVMutableComposition
-
NSObject
-
AVAsset
-
AVComposition
-
AVMutableComposition
Соответствует
-
AVAsynchronousKeyValueLoading
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCopying
-
NSMutableCopying
-
NSObjectProtocol
-
Печатаемый
-
AVAsynchronousKeyValueLoading
-
NSCopying
-
NSMutableCopying
-
NSObject
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Добавляет или расширяет пустой timeRange во всех дорожках состава.
Объявление
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, ofAssetasset
: AVAsset!, atTimestartTime
: CMTime, erroroutError
: NSErrorPointer) -> BoolObjective C
- (BOOL)insertTimeRange:(CMTimeRange)
timeRange
ofAsset:(AVAsset *)asset
atTime:(CMTime)startTime
error:(NSError **)outError
Параметры
timeRange
Диапазон времени актива, который будет вставлен.
asset
Актив, содержащий дорожки, которые будут вставлены.
startTime
Время, в которое вставляемые дорожки должны быть представлены получателем.
outError
Если вставка не была успешна, по возврату содержит
NSError
объект, описывающий проблему.Возвращаемое значение
YES
true
если вставка была успешна, иначеNO
false
.Обсуждение
Этот метод может добавить новые дорожки, чтобы гарантировать, что все дорожки актива представлены во вставленном диапазоне времени.
Существующее содержание в указанное время начала выставлено продолжительностью диапазона времени.
Данные носителей для вставленного диапазона времени представлены в его естественной продолжительности; можно масштабировать его к различному использованию продолжительности
scaleTimeRange:toDuration:
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Удаляет указанный timeRange из всех дорожек состава.
Объявление
Swift
func removeTimeRange(_
timeRange
: CMTimeRange)Objective C
- (void)removeTimeRange:(CMTimeRange)
timeRange
Параметры
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
из его получающегося времени, отображаясь.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
Возвращает новый, пустой, непостоянный состав.
Объявление
Objective C
+ (AVMutableComposition *)composition
Возвращаемое значение
Новый, пустой, непостоянный состав.
Оператор импорта
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Массив
AVMutableCompositionTrack
объекты содержатся составом. (только для чтения)Объявление
Swift
var tracks: [AnyObject]! { get }
Objective C
@property(nonatomic, readonly) NSArray *tracks
Обсуждение
В непостоянном составе дорожки являются экземплярами
AVMutableCompositionTrack
, тогда как вAVComposition
дорожки являются экземплярамиAVCompositionTrack
.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
addMutableTrackWithMediaType (_: preferredTrackID:) - addMutableTrackWithMediaType:preferredTrackID:
Добавляет пустая дорожка к получателю.
Объявление
Swift
func addMutableTrackWithMediaType(_
mediaType
: String!, preferredTrackIDpreferredTrackID
: CMPersistentTrackID) -> AVMutableCompositionTrack!Objective C
- (AVMutableCompositionTrack *)addMutableTrackWithMediaType:(NSString *)
mediaType
preferredTrackID:(CMPersistentTrackID)preferredTrackID
Параметры
mediaType
Тип среды новой дорожки.
preferredTrackID
Предпочтительная дорожка ID для новой дорожки. Если Вы не должны указывать предпочтительную дорожку ID, передача
kCMPersistentTrackID_Invalid
.Предпочтительный ID дорожки будет использоваться для новой дорожки при условии, что это не используется в настоящее время и ранее не использовалось. Если предпочтительная дорожка, ID, который Вы указываете, не доступен, или если Вы передаете в
kCMPersistentTrackID_Invalid
, сгенерирована уникальная дорожка ID.Возвращаемое значение
Экземпляр
AVMutableCompositionTrack
представление новой дорожки.Обсуждение
Можно получить фактический trackID новой дорожки через
@"trackID"
ключ.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Удаляет указанную дорожку из получателя.
Объявление
Swift
func removeTrack(_
track
: AVCompositionTrack!)Objective C
- (void)removeTrack:(AVCompositionTrack *)
track
Параметры
track
Дорожка для удаления.
Обсуждение
Когда это удалено
track
@"composition"
ключ устанавливается кnil
. Значения его других ключей остаются неповрежденными для произвольного использования.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвращает дорожку в получателе, в который может быть вставлен любой диапазон времени данной дорожки актива.
Объявление
Swift
func mutableTrackCompatibleWithTrack(_
track
: AVAssetTrack!) -> AVMutableCompositionTrack!Objective C
- (AVMutableCompositionTrack *)mutableTrackCompatibleWithTrack:(AVAssetTrack *)
track
Параметры
track
AVAssetTrack, от которого может быть вставлен диапазон времени.
Возвращаемое значение
Непостоянная дорожка та, в получателе, в который любой диапазон времени
track
может быть вставлен. Если никакая такая дорожка не доступна, возвратыnil
.Обсуждение
Для лучшей производительности необходимо сохранить число дорожек состава, должен быть сведен к минимуму, соответствуя числу, для которого данные носителей должны быть представлены параллельно. Если Вы хотите представить данные носителей того же типа последовательно, даже от многократных активов, необходимо использовать одноколейный путь того типа среды. Вы используете этот метод для идентификации подходящей существующей целевой дорожки для вставки.
Если нет никакой совместимой доступной дорожки, можно создать новую дорожку того же типа среды как
track
использованиеaddMutableTrackWithMediaType:preferredTrackID:
.Этот метод подобен
compatibleTrackForCompositionTrack:
(AVAsset
).Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.
-
naturalSize naturalSize
СвойствоЗакодированный или созданный размер визуальной части актива.
Обсуждение
Если это значение не установлено, поведение по умолчанию как определяется
AVAsset
; установите значение вCGSizeZero
вернуться к поведению по умолчанию.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.7 и позже.