我已将AVAnimator库添加到现有项目(启用了ARC),以便为我的iOS应用添加透明视频,而我无法播放动画或甚至运行应用程序。这个异常不断被抛出:
* + [AVFileUtil getResourcePath:],/ Class / AVAnimator / AVFileUtil.m:35中的断言失败 2014-02-20 11:12:49.091 [3977:60b] * 由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'movieFilePath is nil'
video.7z包含在项目中,但我显然遗漏了一些东西。
这是我的viewController代码:
- (void)viewDidLoad{
[super viewDidLoad];
animationView = [AVAnimatorView aVAnimatorViewWithFrame:CGRectMake(0,0,600,768)];
media = [AVAnimatorMedia aVAnimatorMedia];
NSString* movieResourceFilename = @"globe02.mvid";
AV7zAppResourceLoader *resLoader = [AV7zAppResourceLoader aV7zAppResourceLoader];
resLoader.archiveFilename = @"globe02.7z";
resLoader.movieFilename = movieResourceFilename;
resLoader.outPath = [AVFileUtil getTmpDirPath:movieResourceFilename];
media.resourceLoader = resLoader;
AVMvidFrameDecoder *frameDecoder = [AVMvidFrameDecoder aVMvidFrameDecoder];
media.frameDecoder = frameDecoder;
//media.animatorFrameDuration = AVAnimator30FPS;
[media prepareToAnimate];
[self.view addSubview:animationView];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(animatorDoneNotification:)
name:AVAnimatorDoneNotification
object:media];}
- (void)animatorDoneNotification:(NSNotification*)notification {
NSLog( @"animatorDoneNotification" );
[animationView attachMedia:media];
[media startAnimator];}
任何人都知道我在这里缺少什么?
答案 0 :(得分:0)
生成该断言的代码是:
NSString* movieFilePath = [[NSBundle mainBundle] pathForResource:resFilename ofType:nil];
NSAssert(movieFilePath, @"movieFilePath is nil");
所以,问题是iOS无法加载@" globe02.7z"来自应用程序资源,可能是因为您没有在构建设置中包含该文件。这是项目文件中的一个非常小的配置错误。