2013-10-02 25 views
7

MPMoviePlayer nie odtwarza wideo. Biegnę iOS 7 i otrzymuję ten sam błąd na urządzeniu i symulatora:MPMoviePlayer nie odtwarza wideo

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

}

Próbowałem odtwarzania wideo z Internetu i systemu plików, ale bez powodzenia. Moje kodu jest bardzo prosta:

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 wymienione jest ważny film: http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_650_ref.mov

Ja również próbowałem przy użyciu MPMoviePlayerViewController, ale to nie działało.

+0

patrz http://stackoverflow.com/ pytania/22068681/itemfailedtoplaytoend-error-when-playing-video-in-mpmovieplayercontroller –

Odpowiedz

0

Spróbuj tego i przepraszam za opóźnienie w odpowiedzi:

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 wydaje się być buggy na iOS 7. Na moim app, mam strumieniowego wideo z sieci (tak samo jak ty), a problem zniknie z tego typu źródła:

self.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

wiem, że to dziwne, ponieważ mamy do strumieniowego wideo, ale jest to jedyne rozwiązanie, które działa na mnie.

Nadzieja to pomaga :)

0

1.ZMIEŃ pliku MOV do pliku MP4, wydaje się, że gracz nie może obsługiwać plik mov

2.delete kodu self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;

lub zmienić kod [self.moviePlayer setFullscreen:YES]; self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

3.Add po [self.view addSubview:self.moviePlayer.view];

Uwaga: Należy zwrócić uwagę na kolejność, w przeciwnym razie można tylko usłyszeć dźwięk, ale nie można obejrzeć film

Jeśli chcesz użyć MPMoviePlayerViewController, tak:

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

Ważne: Jeżeli URL to błąd, dostaniesz również ten sam błąd. np: to źle

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

do prawidłowe go:

Jeśli adres URL jest adresem URL stron internetowych, a następnie tak:

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

indziej, jeśli plik jest lokalnym plik, a następnie:

moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4”]]]; 
Powiązane problemy