播放保存在应用程序文档目录中的视频文件

Hri*_*shi 4 iphone objective-c mpmovieplayercontroller ios4 ios

我有一个视频文件保存在我的应用程序的文档文件夹中的本地目录中.我想在用户点击我创建的嵌入式表格视图中的项目时播放该文件.我播放视频的代码如下:

NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* path = [documentPath stringByAppendingPathComponent:@"DemoRecording.mp4"];
NSURL* movieURL = [NSURL fileURLWithPath: path];
[player.view setFrame: self.view.bounds];
[self.view addSubView: player.view];
[player play];
MPMoviePlayerViewController* moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL: movieURL];
[self presentMoviePlayerViewControllerAnimated: moviePlayer];
Run Code Online (Sandbox Code Playgroud)

视频无法播放.路径正确,文件存在.
我知道这是一个重复的问题.我已经提到了这些链接:
使用Cocoa-Touch
播放文件目录中的下载视频MPMoviePlayer加载并播放保存在应用文档中的电影
但是找不到明确的答案.
请帮我解决这个问题.我正在使用iOS 5.1.1,如果这改变了什么.

编辑:

它确实有效.我忘了将URL传递给电影播放器​​.

Nit*_*hel 19

你可以像这样从文档目录播放视频: -

-(IBAction)playVideo
{
    NSURL *vedioURL;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];
    NSLog(@"files array %@", filePathsArray);        

    NSString *fullpath;

    for ( NSString *apath in filePathsArray )
    {
        fullpath = [documentsDirectory stringByAppendingPathComponent:apath];       
        vedioURL =[NSURL fileURLWithPath:fullpath];
    }
    NSLog(@"vurl %@",vedioURL);
    MPMoviePlayerViewController *videoPlayerView = [[MPMoviePlayerViewController alloc] initWithContentURL:vedioURL];
    [self presentMoviePlayerViewControllerAnimated:videoPlayerView];
    [videoPlayerView.moviePlayer play];     
}
Run Code Online (Sandbox Code Playgroud)

注意

请注意,请勿忘记包含所请求的Framework或连接Delegate