1

我创建了一个带有图像数组的电影并将其保存到我的照片库中。

当我播放电影时,我的所有图像都会同时出现,这意味着如果在我的电影中保存了 10 张图像,当我开始播放电影时,我所有的 10 张图像都会在一秒钟内出现,但歌曲会继续播放。

这里我的问题是我想滑动我的图像,如:

前 3 秒第一张图片,接下来 3 秒 2 张图片

如何使用 AVMutableCompositionTrack 或其他东西创建该类型的电影。

我的示例代码是:

 CMTime nextClipStartTime = kCMTimeZero;

AVURLAsset* videoAsset = [[AVURLAsset alloc]initWithURL:video_inputFileUrl options:nil];
CMTimeRange video_timeRange = CMTimeRangeMake(kCMTimeZero,videoAsset.duration);
AVMutableCompositionTrack *a_compositionVideoTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
//NSArray *myarray1 = [videoAsset tracksWithMediaType:AVMediaTypeVideo] ;
[a_compositionVideoTrack insertTimeRange:video_timeRange ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:nextClipStartTime error:nil];

//nextClipStartTime = CMTimeAdd(nextClipStartTime, a_timeRange.duration);

AVURLAsset* audioAsset = [[AVURLAsset alloc]initWithURL:audio_inputFileUrl options:nil];
CMTimeRange audio_timeRange = CMTimeRangeMake(kCMTimeZero, audioAsset.duration);
AVMutableCompositionTrack *b_compositionAudioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
[b_compositionAudioTrack insertTimeRange:audio_timeRange ofTrack:[[audioAsset tracksWithMediaType:AVMediaTypeAudio] objectAtIndex:0] atTime:nextClipStartTime error:nil];
4

0 回答 0