首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AVMutableComposition视频创建问题

使用AVMutableComposition视频创建问题
EN

Stack Overflow用户
提问于 2013-06-12 11:31:52
回答 1查看 1.7K关注 0票数 1

我正在尝试merge.mp4和.caf文件,所以我使用了以下代码

代码语言:javascript
复制
AVMutableCompositionTrack *compositionVideoTrack = 
[mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
                            preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration) 
                               ofTrack:[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]
                                                                 atTime:kCMTimeZero
                                                                  error:nil]; 

但我知道这个错误

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array' *** First throw call stack: (0x32c4d2a3 0x3aae397f 0x32b98b75 0x748e7 0x74e61 0x34b400c5 0x34b40077 0x34b40055 0x34b3f90b 0x34b3fe01 0x34a685f1 0x34a55801 0x34a5511b 0x367495a3 0x32c22683 0x32c21ee9 0x32c20cb7 0x32b93ebd 0x32b93d49 0x367482eb 0x34aa9301 0x6f767 0x6f708) libc++abi.dylib: terminate called throwing an exception

所有需要的框架和.dylib文件都包括在内。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 12:03:42

打印数组计数。这肯定是一个空数组,这就是你的应用程序崩溃的原因。看看那个。NSlog(@"array count => %d",[videoAsset tracksWithMediaType:AVMediaTypeVideo]);

并将代码替换为下面的代码,以防止崩溃。

代码语言:javascript
复制
 AVMutableCompositionTrack *compositionVideoTrack = 
    [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo
                                preferredTrackID:kCMPersistentTrackID_Invalid];
    NSArray *dataSourceArray = [NSArray arrayWithArray: [videoAsset tracksWithMediaType:AVMediaTypeVideo];
   NSlog(@"array count => %d",[dataSourceArray count]);
    [compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration) 
                                   ofTrack:([dataSourceArray count]>0)?[dataSourceArray objectAtIndex:0]:nil
                                                                     atTime:kCMTimeZero
                                                                      error:nil]; 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17064382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档