2011-03-21 18 views
1

在我的iPhone应用程序中,用户可以单击表格单元格,并且电影将开始播放。该电影是我的项目中“/Resources/myMovie.m4v”下的本地文件。我无法弄清楚如何正确链接到它。如何正确构建本地电影URL?

我发现这个代码,但它似乎并没有工作:

NSString *rootPath = [[NSBundle mainBundle] resourcePath]; 
NSString *filePath = [rootPath stringByAppendingPathComponent:@"myMovie.m4v"]; 
NSURL *fileURL = [NSURL fileURLWithPath:filePath isDirectory:NO]; 

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL: [NSURL fileURLWithPath:filePath isDirectory:NO]]; 

感谢您的帮助!

回答

5

绝对是主包中的文件吗?

尝试使用此来获取URL。

NSURL *url = [[NSBundle mainBundle] URLForResource:@"myMovie" withExtension:@"m4v"]; 
    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
+0

我不确定主包是什么。它位于Resources组的项目面板中。 – rottendevice 2011-03-21 00:25:14

+0

MCannon的帖子应该给你你想要的。在iOS 4之前,您需要使用'-pathForResource:ofType:',传递相同的参数,并将结果路径传递给[NSURL fileURLWithPath:]。主包是您正在构建的.app。在iOS上,这是您可以创建的唯一类型。如果上述不起作用,那么我建议确保您的电影绝对在当前目标中 - 否则,在构建它时不会将其复制到应用程序中。 – 2011-03-21 01:02:13

+0

主要包基本上是应用程序包,任何与您的应用程序一起从appstore下载的内容都位于主包中。 – MCannon 2011-03-21 01:07:36