2013-10-02 24 views
7

MPMoviePlayer không phát video. Tôi đang chạy iOS 7 và nhận được lỗi tương tự trên thiết bị và mô phỏng:MPMoviePlayer không phát video

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

}

Tôi đã thử chơi một đoạn video từ hệ thống internet và tập tin, nhưng không may mắn. Mã của tôi rất đơn giản:

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 được liệt kê là một bộ phim hợp lệ: http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_650_ref.mov

Tôi cũng đã cố gắng sử dụng MPMoviePlayerViewController, nhưng điều đó không làm việc, hoặc.

+0

xem http://stackoverflow.com/ câu hỏi/22068681/itemfailedtoplaytoend-error-khi-playing-video-in-mpmovieplayercontroller –

Trả lời

0

Hãy thử điều này và xin lỗi vì những lời cuối:

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 có vẻ là lỗi trên iOS 7. Mở ứng dụng của tôi, tôi đang trình chiếu một video từ các trang web (giống như bạn), và vấn đề biến mất với loại nguồn này:

self.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

Tôi biết điều đó lạ bởi vì chúng tôi đang phát video, nhưng đây là giải pháp duy nhất phù hợp với tôi.

Hy vọng nó sẽ giúp :)

0

1.change file mov sang file mp4, dường như các cầu thủ không thể hỗ trợ các tập tin mov

2.delete mã self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;

hoặc thay đổi để self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

3.add đang [self.moviePlayer setFullscreen:YES]; sau [self.view addSubview:self.moviePlayer.view];

lưu ý: Bạn phải lưu ý trình tự, nếu không bạn chỉ có thể nghe thấy âm thanh nhưng không thể xem phim

Nếu bạn muốn sử dụng MPMoviePlayerViewController, như thế này:

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

Chú ý: Nếu URL là lỗi, bạn cũng sẽ gặp lỗi tương tự. ví dụ: đây là sai

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

để đúng nó:

Nếu URL là URL web, sau đó như thế này:

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

khác nếu tập tin là một địa phương tệp, sau đó như sau:

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