我正在尝试将视频代码放在Xcode中我正在使用故事板,但每次崩溃我都是错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' * - [NSURL initFileURLWithPath:]:nil string parameter' * 首先抛出调用堆栈:
我将按钮连接到IBAction
,但在按下按钮后,应用程序崩溃了
- (IBAction)playMove;
{
NSString *url = [[NSBundle mainBundle]pathForResource:@"skill" ofType:@"flv"];
MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:url]];
theMovie.view.frame = CGRectMake(64, 100, 200, 150);
[self.view addSubview:theMovie.view];
[theMovie play];
}
我的文件是name.mp4
大480 * 360但是它崩溃了这就是代码
- (IBAction)playMove;
{
NSURL *url =[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"go" ofType:@"mp4"]];
MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc]initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:player];
player.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[player.moviePlayer play];
}
并且按钮连接正常我可以做些什么来解决它?
我试图在没有故事板和故事板的情况下使用,但总是崩溃。
这是错误:
NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
*** First throw call stack:
(0x1e0a022 0x1348cd6 0x1db2a48 0x1db29b9 0xb9753b 0xb974c5 0x21dc 0x1e0be99 0x25814e 0x2580e6 0x2feade 0x2fefa7 0x2fe266 0x27d3c0 0x27d5e6 0x263d
答案 0 :(得分:1)
因为你试图按MPMoviePlayer
播放FLV文件。
这是来自MPMoviePlayerController支持格式的apple api文档:
支持的格式
此类播放iOS中支持的任何电影或音频文件。这包括流内容和固定长度文件。对于电影文件,这通常意味着扩展名为.mov,.mp4,.mpv和.3gp的文件,并使用以下压缩标准之一:
H.264 Baseline Profile Level 3.0视频,最高640 x 480,30 fps。 (基线配置文件不支持B帧。) MPEG-4 Part 2视频(简介) 如果您使用此类播放音频文件,则会在播放音频时显示带有QuickTime徽标的白色屏幕。对于音频文件,此类支持高达48 kHz的AAC-LC音频和高达48 kHz的MP3(MPEG-1 Audio Layer 3)立体声音频。