1

我有一个带有静态单元的 UITableView 控制器;第一个 UITableView 单元格有一个 UIButton,当按下它时,由于 MoviePlayer 控制器,它会播放视频。

我最初所做的是创建一个自定义 UITableView Cell 类,在其中我实现了 MPC,然后为按钮创建了一个 IBAction 以触发电影播放。当我这样做时,我收到错误:'NSInvalidArgumentException',原因:' * -[NSURL initFileURLWithPath:]: nil string parameter'

我之前没有将 MoviePlayerController 与 UITableView 一起使用。我究竟做错了什么?

-(IBAction)playvideo { 
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"my_mov1" ofType:@"mp4"]]; 
    MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 
    [self presentMoviePlayerViewControllerAnimated:playercontroller];
    playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile;         
    [playercontroller.moviePlayer play]; 
}
4

1 回答 1

0

您的主捆绑包中不存在该视频。确保您拥有正确命名的视频,"my_mov1.mp4"并确保将其复制到您的主捆绑包中。

您可以使用文件管理器检查文件是否存在

NSFileManager *fileManager = [NSFileManager defaultManager];
BOOL isDirectory;
NSString *filePath; // set your file path here;
BOOL fileExists = [fileManager fileExistsAtPath:filePath isDirectory:&isDirectory];
于 2013-11-09T00:06:37.393 回答