2013-10-02 130 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似乎馬車在iOS 7.在我的應用程序,我流從網上的視頻(你一樣),以及與此源類型問題消失:

self.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

我知道,因爲我們正在串流視頻奇怪,但是這是對我的作品的唯一解決方案。

希望它能幫助:)

0

1.更改的MOV文件,MP4文件,似乎玩家不能支持MOV文件

2.刪除代碼self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;

或改變 self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

3.添加代碼[self.moviePlayer setFullscreen:YES]; [self.view addSubview:self.moviePlayer.view];

後0

注意:必須注意順序,否則你只能聽到聲音,但不能看電影

如果你想使用MPMoviePlayerViewController,像這樣:

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

要點:如果網址錯誤,您也會得到相同的錯誤。例如:這是錯誤

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

正確它:

如果URL網頁URL,那麼這樣的:

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

否則文件是本地文件,然後像這樣:

moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4」]]]; 
相關問題