簡體   English   中英

iOS應用:從mainBundle播放mp4文件時崩潰

[英]iOS App: playing mp4 file from mainBundle crashes

我正在嘗試從我的應用程序內部播放test.mp4,但由於以下錯誤而崩潰:

2013-06-28 15:02:40.931 framing[9617:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
*** First throw call stack:
(0x1a5f012 0x176ce7e 0x1a5edeb 0x11839b1 0x118393b 0x28c2 0x1780705 0x6b42c0 0x6b4258 0x775021 0x77557f 0x7746e8 0x6e3cef 0x6e3f02 0x6c1d4a 0x6b3698 0x2ac1df9 0x2ac1ad0 0x19d4bf5 0x19d4962 0x1a05bb6 0x1a04f44 0x1a04e1b 0x2ac07e3 0x2ac0668 0x6b0ffc 0x223d 0x2165)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

以下是代碼:

#import "ViewController.h"
#import <QuartzCore/QuartzCore.h>
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>

@implementation ViewController
@synthesize moviePlayer,movieScreen,viewVideoTitleBg;

-(IBAction)playTheMovie {
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp4"];
    moviePlayer = [[MPMoviePlayerController
                    alloc]initWithContentURL:[NSURL fileURLWithPath:path]];
    //[self presentMoviePlayerViewControllerAnimated:moviePlayer];
    moviePlayer.controlStyle = MPMovieControlStyleDefault;
    moviePlayer.shouldAutoplay = YES;
    moviePlayer.view.frame = CGRectMake(64,192,895,415);
    [self.view addSubview:moviePlayer.view];
    //[moviePlayer setFullscreen:NO animated:YES];
    [moviePlayer play];
}

我也安裝了框架。

我的代碼有什么問題?

我最近遇到了這個問題。 我的解決方法是從捆綁軟件中刪除視頻文件,然后再次將其拖放。

清理並構建,然后再次運行。

但是例如:您應該檢查視頻文件名稱和代碼中使用的名稱的拼寫和大寫。

嘗試使用[NSURL URLWithString:path]; 而不是[NSURL fileURLWithPath:path];

檢查一下

[[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp4"]

返回零。 如果返回nil,則需要將mp4文件添加到xcode項目中,並選擇SELECT> ADD TO TARGET <復選框。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM