5

我试图让我的应用播放已下载到文档目录的视频文件。我知道这个文件是越来越下载,但我似乎无法得到发挥的文件,这里是我的代码:使用Cocoa-Touch从文档目录播放下载的视频

-(IBAction)play{ 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"]; 

NSURL *movieURL = [NSURL fileURLWithPath:path]; 


_player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
[self.view addSubview:_player.view]; 

_player.controlStyle = MPMovieControlStyleDefault; 
_player.shouldAutoplay = YES; 


[_player setFullscreen:YES animated:YES]; 


[_player play]; 

} 
+0

你在的NSString有一个错误*路径定义你不需要%@ /。但是如果你从控制台获得输出或错误,你还没有说过什么。 – Panagiotis 2012-07-18 19:52:35

+0

你确定这个东西存在于文件目录中,而不是应用程序包中?我可以从包中加载视频。 – CodaFi 2012-07-18 20:09:19

+0

建议一句话:按照新的存储指南(底线:它使备份缓慢/沉重),我的应用因为将视频保存到/ Documents而被拒绝。 **如果**您的目标iOS 5.0.1或更高版本,则可以将/ Documents中的子目录标记为“跳过备份”。否则,你唯一的选择是保存到/缓存(并设计一种方式来重新下载视频,当它被删除) – 2012-07-18 21:03:31

回答

0

问题将是这一行:NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

改变,要NSString *path = [documentsDirectory stringByAppendingPathComponent:@"piggy.m4v"];

+0

@untitled:你得到的错误是什么? – 2012-07-18 19:58:59

+0

我从控制台得到上述输出,我刚刚运行应用程序,也有这个错误错误(空)设置播放模式为'AVAudioSessionModeDefault' – untitled 2012-07-18 20:04:57

11

这看起来像某种错误的,但你必须设置你的路径那样:

NSString *vidPath = [[NSBundle mainBundle] pathForResource:@"promo" ofType:@"mp4"]; 
NSURL *url = [NSURL fileURLWithPath:vidPath isDirectory:NO]; //THIS IS THE KEY TO GET THIS RUN :) 
[introPlayer setContentURL:url]; 
+0

谢谢sooo多。你救了我 – cantfindaname88 2012-10-04 04:25:04