2012-08-12 57 views
0

我試圖把在Xcode視頻代碼我使用的故事板,但每一次崩潰我這是錯誤:應用程序崩潰所有的時間與視頻播放器

終止應用程序由於未捕獲的異常「NSInvalidArgumentException 」,原因是:‘* - [NSURL initFileURLWithPath:]:零字符串參數’ *第一擲調用堆棧:

我的按鈕連接到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 

回答

1

它,因爲你正試圖通過MPMoviePlayer播放FLV文件。

這是來自蘋果的API文檔的MPMoviePlayerController支持格式:

支持的格式
該類扮演的iOS支持的任何視頻或音頻文件。這包括流式內容和固定長度文件。對於電影文件,這通常意味着文件的擴展名爲.mov,.mp4,.mpv和.3gp,並使用以下壓縮標準之一:

H.264基線配置文件級別3.0視頻,最大640 x 480在30 fps。 (基線配置文件不支持B幀。) MPEG-4第2部分視頻(簡單配置文件) 如果您使用此類播放音頻文件,則會在播放音頻時顯示帶有QuickTime徽標的白色屏幕。對於音頻文件,此類支持高達48 kHz的AAC-LC音頻和高達48 kHz的MP3(MPEG-1音頻層3)立體聲音頻。

+0

那麼,除了你完全正確的FLV不符合iOS標準之外 - 這個崩潰當然有不同的原因。原因是給定的字符串是'nil'。 – Till 2012-08-12 18:41:56

+0

我的文件是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.movi​​ePlayer.movi​​eSourceType = MPMovieSourceTypeFile; [player.movi​​ePlayer play]; player = nil; } 和按鈕連接我能做什麼? – 2012-08-12 18:50:18

+0

好吧,所以我需要做的是代碼 - (IBAction)playMove;您可以使用NSURL * url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@「Movie」ofType:@「m4v」]]; MPMoviePlayerViewController * player = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; player.movi​​ePlayer。movieSourceType = MPMovieSourceTypeFile; [self presentMoviePlayerViewControllerAnimated:player]; [player.movi​​ePlayer play]; }這是由於未捕獲的異常'NSInvalidArgumentException'導致的終止應用程序,原因:'*** - [NSURL initFileURLWithPath:]:nil字符串參數' – 2012-08-12 19:54:07

相關問題