2013-10-02 161 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”]]]; 
相关问题