Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 播放应用程序中保存的视频文件';s文件目录_Iphone_Ios_Objective C_Ios4_Mpmovieplayercontroller - Fatal编程技术网

Iphone 播放应用程序中保存的视频文件';s文件目录

Iphone 播放应用程序中保存的视频文件';s文件目录,iphone,ios,objective-c,ios4,mpmovieplayercontroller,Iphone,Ios,Objective C,Ios4,Mpmovieplayercontroller,我有一个视频文件保存在documents文件夹中我应用程序的本地目录中。我想在用户单击我创建的嵌入表视图中的项时播放该文件。我播放视频的代码如下: NSString* documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString* path = [documentPath stringByAppendingPath

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

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];
视频无法播放。路径正确,并且文件存在于那里
我知道这是一个重复的问题。我已经参考了这些链接:


但是找不到一个明确的答案
请帮我解决这个问题。我使用的是iOS 5.1.1,如果这有什么变化的话

编辑:


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

您可以通过以下方式从文档目录播放视频:-

-(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];     
}
注意

请注意,不要忘记包括请求的框架或连接委托


您的错误是在DemoRecording.mp4之前错过了
/

应该是

NSString* path = [documentPath stringByAppendingPathComponent:@"/DemoRecording.mp4"];

在声明之前,您还需要编写
player
语句

如果可以,请使用web视图显示文件。这很简单,你在哪里把
movieURL
传递给了
播放器
?你是对的,我没有把URL传递给播放器。我对代码进行了编辑,将其包括在内,并且效果良好。真诚的道歉。