对于自定义导入的影片文件,pathForResource返回的NSURL对象为null。
-(NSURL *)localMovieURL
{
NSURL *theMovieURL = nil;
NSBundle *bundle = [NSBundle mainBundle];
if (bundle)
{
NSString *moviePath = [bundle pathForResource:@"Movie" ofType:@"m4v"];
//NSString *moviePath = [bundle pathForResource:@"Movie_01" ofType:@"m4v"];
//NSString *moviePath = [bundle pathForResource:@"Sample" ofType:@"m4v"];
if (moviePath)
{
theMovieURL = [NSURL fileURLWithPath:moviePath];
}
NSLog(@" MMM moviePath = %@", moviePath);
NSLog(@" UUU theMovieURL = %@", theMovieURL);
}
return theMovieURL;
}
考虑Apple的上述示例代码(示例项目名称 - MoviePlayer)
Movie.m4v带有示例,编译的示例项目完全没有问题地播放m4v。但是当我制作Movie.m4v的副本时,将其命名为Movie_01.m4v并将文件拖到项目中,MPMoviePlayerController没有响应。此外,添加的NSLog输出(从MMM和UUU开始变为“... =(null)”。对于我使用iMovie自己制作的样本m4v“Sample.m4v”也是如此。
此问题与我之前发布的问题(here)有关。我之前的问题涉及我自己写的一个项目,它有同样的问题:“pathForResource”方法返回“nil”,即使电影文件看似正确导入。样本电影都可以在Xcode中完美播放,我以相同的方式将png照片文件导入(拖动)到项目中。但png照片可以通过手机和模拟器上的编译程序按预期显示。
希望有人可以提供一些提示。
答案 0 :(得分:2)
好像你复制了你的问题。这两个答案似乎都是:将电影添加到您的应用程序包(项目构建步骤>复制资源)