MPMoviePlayerController错误_itemFailedToPlayToEnd同时播放YouTubevideo的iOS 7

我已经看到这提到了networking上的一些地方,但还没有find答案的任何地方。

我正在使用ALMovieplayercontroller库。 一切工作正常,但是当我试图播放Youtubevideo,它给了我错误。

_itemFailedToPlayToEnd:{kind = 1; 新= 2; 旧= 0; }

编辑

- (void)setContentURL:(NSURL *)contentURL { self.movieSourceType = MPMovieSourceTypeStreaming; [super setContentURL:contentURL]; [[NSNotificationCenter defaultCenter] postNotificationName:ALMoviePlayerContentURLDidChangeNotification object:nil]; [self play]; } 

这是我的代码

 ALMoviePlayerControls *movieControls = [[ALMoviePlayerControls alloc] initWithMoviePlayer:self.moviePlayer style:ALMoviePlayerControlsStyleDefault]; //[movieControls setAdjustsFullscreenImage:NO]; [movieControls setBarColor:[UIColor colorWithRed:195/255.0 green:29/255.0 blue:29/255.0 alpha:0.5]]; [movieControls setTimeRemainingDecrements:YES]; //assign controls [self.moviePlayer setControls:movieControls]; [self.view addSubview:self.moviePlayer.view]; self.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; //THEN set contentURL [self.moviePlayer setContentURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=NaosmAGx8NM"]]; 

我无法find解决scheme。

请帮忙。

是的,经过这么多的研究,我发现了以下解决scheme。

MPMoviePlayerController直接不会播放YouTubevideo。 您必须提取videourl并将videourl设置为MPMoviePlayerController。 之后这个video将被播放。

有很多可用的API提供提取的videourl。

其中一些在下面

XCDYouTubeKit

HCYoutubeParser

但是使用这个API你的应用程序可能会被拒绝 。 你应该不得不使用你的风险。

播放YouTubevideo的最佳方式是WebView。

好!!! 问题是玩家不知道你在玩什么,

  1. 您可以尝试将名称更改为x.mp4
  2. 您可以debugging该项目并查看您尝试播放的path和文件是否存在。

如果我没有错误ALMovieplayercontrollerALMovieplayercontroller的扩展。 所以尝试设置播放器的来源typesstream。

 moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;