2013-10-02 22 views
7

MPMoviePlayer не воспроизводит видео. Я бегу IOS 7 и получить ту же ошибку на устройстве и симулятором:MPMoviePlayer не воспроизводится видео

2013-10-02 12:49:18.246 xxxx[688:60b] _itemFailedToPlayToEnd: { 
kind = 1; 
new = 2; 
old = 0; 

}

Я пытался играть видео из Интернета и файловой системы, но не повезло. Мой код очень прост:

self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_650_ref.mov"]]; 
    self.moviePlayer.view.frame = self.view.bounds; 
    self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; 
    [self.view addSubview:self.moviePlayer.view]; 
    [self.moviePlayer prepareToPlay]; 

URL, перечисленный действительный фильм: http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_650_ref.mov

Я также попытался с помощью MPMoviePlayerViewController, но это не сработало.

+0

см. http://stackoverflow.com/ вопросы/22068681/itemfailedtoplaytoend-ошибки при разыгрывании-видео-в-mpmovieplayercontroller –

ответ

0

Попробуйте это и извиняются за поздний ответ:

NSURL *fileURL = [NSURL URLWithString:@"file url from the internet "]; 
    MPMoviePlayerViewController *moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL]; 

    [moviePlayerController.moviePlayer setFullscreen:YES animated:YES]; 
    [moviePlayerController.moviePlayer.view setFrame: self.view.bounds]; 
    [moviePlayerController.moviePlayer setControlStyle:MPMovieControlStyleFullscreen]; 
    [moviePlayerController.moviePlayer setMovieSourceType:MPMovieSourceTypeFile]; 

    [self presentMoviePlayerViewControllerAnimated:moviePlayerController]; 
    [moviePlayerController.moviePlayer prepareToPlay]; 
    [moviePlayerController.moviePlayer play]; 
2

MPMovieSourceTypeStreaming, кажется, багги на прошивке 7. На моем приложении, я потоковое видео из Интернета (так же, как и вы), и проблема исчезнет с этим типом источника:

self.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

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

Надеется, что это помогает :)

0

1.Change файла мов в mp4 файл, кажется, что игрок не может поддерживать файл мы

2.delete кода self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;

или перейти к self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

3.Add код [self.moviePlayer setFullscreen:YES]; после [self.view addSubview:self.moviePlayer.view];

Примечание: Вы должны отметить последовательность, в противном случае вы можете слышать только звук, но не может смотреть фильм

Если вы хотите использовать MPMoviePlayerViewController, как это:

MPMoviePlayerViewController *moviePlayerViewController; 
    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://.../movie.mp4"]];//note:mp4 file 
    [self presentMoviePlayerViewControllerAnimated:moviePlayerViewController]; 

Важно: Если URL-адрес ошибки, вы также получите ту же ошибку. например: это неправильно

moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"movie.mp4"]]; 

в правильно это:

Если URL является веб-страницы, а затем, как это:

moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://..../movie.mp4"]]; 

иначе, если файл является локальным файла, то вот так:

moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4”]]]; 
Смежные вопросы