0
- (void)viewDidLoad
{
    NSString *movieFile1=[[NSBundle mainBundle]pathForResource:@"2" ofType:@"mp4"];
    self.moviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:movieFile1]];

    [super viewDidLoad];
}

このビデオを mp4,mov,3gp,m4v に変換しましたが、常に:

スレッド 1:シグナル SIGABRT

私を助けてください!

フォーマットの問題だと思います。support.apple.com のビデオを使用すると
、このコードが機能するためです。それで、私は何をすべきですか?

4

1 に答える 1

2

これを [super viewDidLoad] として実行します。頂点に:

NSString *movieFile1=[[NSBundle mainBundle]pathForResource:@"2" ofType:@"mp4"];
if([[NSFileManager defaultManager] fileExistsAtPath:movieFile1])// check whether file exists
{
  self.moviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:movieFile1]];
  if(self.moviePlayer) //reference of movie player created
  {
    [self.moviePlayer prepareToPlay];
    [self.moviePlayer.view setFrame: self.view.bounds]; 
    [self.view addSubview: player.view];
    [self.moviePlayer play];
  }
}
于 2012-08-27T04:36:52.877 に答える