在IOS上播放视频

时间:2012-09-14 03:43:49

标签: objective-c ios

我已从

下载了源文件

http://mobile.tutsplus.com/tutorials/iphone/mediaplayer-framework_mpmovieplayercontroller_ios4/

并且该应用程序运行正常,但当我尝试通过更改以下代码来换出我自己的视频时:

pathForResource:@"big-buck-bunny-clip" ofType:@"m4v"

pathForResource:@"example" ofType:@"mp4"

当我尝试播放视频时应用程序崩溃,我在输出中收到一条消息:

“2012-09-13 20:32:59.106 BigBuckBunny [1081:11f03] *由于未捕获的异常'NSInvalidArgumentException'终止应用,原因:' - [NSURL initFileURLWithPath:]:nil string parameter' * *第一次抛出调用堆栈: (0x1722022 0x10f6cd6 0x16caa48 0x16ca9b9 0x4e53b 0x4e4c5 0x2da4 0x1723e99 0x36d14e 0x36d0e6 0x413ade 0x413fa7 0x413266 0x3923c0 0x3925e6 0x378dc4 0x36c634 0x1e1aef5 0x16f6195 0x165aff2 0x16598da 0x1658d84 0x1658c9b 0x1e197d8 0x1e1988a 0x36a626 0x297d 0x28f5) 终止调用抛出异常(lldb)“

我的新视频文件位于包含原始big-buck-bunny-clip.m4v文件的文件夹中,我把它放在项目中。 我做错了什么,如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我设法播放我自己的视频,转到Xcode中的文件并选中目标会员资格下的BigBuckBunny旁边的框

答案 1 :(得分:0)

检查文件存在且您传递的文件路径为nil:

 NSString *filepath   =   [[NSBundle mainBundle] pathForResource:@"example" ofType:@"mp4"];  
 if([[NSFileManager defaultManager] fileExitsAtPath:filepath])
 {
   NSURL    *fileURL    =   [NSURL fileURLWithPath:filepath];   
   MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];  
   [self.view addSubview:moviePlayerController.view];  
   moviePlayerController.fullscreen = YES;  
   [moviePlayerController play];    
 }
 else
 {
    NSLog(@"File not exists");
 }