MediaPlayer Framework iOS SDK - PullRequest
       2

MediaPlayer Framework iOS SDK

2 голосов
/ 20 декабря 2011

Я пытаюсь внедрить видео в свое приложение, и мне трудно.Я попробовал этот учебник, и он был очень полезен.

Но теперь, когда я пытаюсь запустить свое приложение и нажать на кнопку, видеокадр появляется и остается черным.Мое видео в правильном формате, я также убедился, что я использую MediaPlayer Framework.Кто-нибудь сталкивался с этой проблемой раньше или знает, почему это происходит?

Вот что у меня есть:

-(IBAction)playMovie:(id)sender
{
    UIButton *playButton = (UIButton *) sender; 

    NSString *filepath   =   [[NSBundle mainBundle] pathForResource:@"big-buck-bunny-clip" ofType:@"m4v"];

    NSURL    *fileURL    =   [NSURL fileURLWithPath:filepath];
    MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlaybackComplete:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:moviePlayerController];

    [moviePlayerController.view setFrame:CGRectMake(38, 100, 250, 163)];

    [self.view addSubview:moviePlayerController.view];
    //moviePlayerController.fullscreen = YES;

    moviePlayerController.initialPlaybackTime = 5;

    [moviePlayerController play];

}

Ответы [ 2 ]

3 голосов
/ 20 декабря 2011

Добавили ли вы вид MPMoviePlayerController на свой вид?

MPMoviePlayerController *movieController = ...;
movieController.view.frame = self.view.bounds;
[self.view addSubview:movieController.view];

Рамка также может быть черной, если для shouldAutoplay установлено значение YES, а для controlStyle - MPMovieControlStyleNone

- Правка. Так я запускаю плеер, и он работает, может быть, это поможет.Он воспроизводит потоковое HTTP-видео, но проигрывает все, что вы в него вставляете.Вы должны попробовать URL в этом примере.Если это сработает, то определенно есть проблема с вашим contentUrl.

  url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
  self.moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
  moviePlayerController.view.frame = self.view.bounds;
  [self.view insertSubview:moviePlayerController.view atIndex:0];
  moviePlayerController.controlStyle = MPMovieControlStyleNone;
  moviePlayerController.shouldAutoplay = YES;
  [moviePlayerController prepareToPlay];
0 голосов
/ 30 января 2012

У меня была та же проблема, а также после того же учебника, но потом я обнаружил, что класс moviePlayerViewController проще в использовании, и вам даже не нужно беспокоиться о кнопках отклонения.

Я исправил, использовал следующий код: (я думаю, что он работает лучше с ios5)

self.moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:finalurl];
moviePlayerViewController.view.frame = self.view.bounds;
[self presentMoviePlayerViewControllerAnimated:moviePlayerViewController];
moviePlayerViewController.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
moviePlayerViewController.moviePlayer.shouldAutoplay = YES;
[moviePlayerViewController.moviePlayer prepareToPlay];
moviePlayerViewController.moviePlayer.fullscreen=YES;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...