播放youtube视频iOS 7时MPMoviePlayerController错误_itemFailedToPlayToEnd

时间:2013-12-15 09:04:42

标签: ios objective-c ios7 youtube mpmovieplayercontroller

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

我正在使用ALMovieplayercontroller库。一切正常,但当我试图播放Youtube视频时,它给了我错误。

_itemFailedToPlayToEnd:{     kind = 1;     new = 2;     old = 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"]];

我无法找到解决方案。

请帮助。

3 个答案:

答案 0 :(得分:11)

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

MPMoviePlayerController直接无法播放youtube视频。您必须提取视频网址并将视频网址设置为MPMoviePlayerController。播放完这段视频后。

有许多API可用于提供提取的视频网址。

其中一些低于

XCDYouTubeKit

HCYoutubeParser

但使用此API可能会拒绝您的应用。你应该利用你的风险。

播放YouTube视频的最佳方式是WebView。

答案 1 :(得分:3)

确定!!!问题是玩家不知道你想玩什么,

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

答案 2 :(得分:0)

如果我没弄错,ALMovieplayercontrollerMPMoviePlayerController的扩展名。 因此,请尝试将播放器的源类型设置为流式传输。

moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;