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

Posted

技术标签:

【中文标题】播放 youtube 视频 iOS 7 时 MPMoviePlayerController 错误 _itemFailedToPlayToEnd【英文标题】:MPMoviePlayerController error _itemFailedToPlayToEnd while playing youtube video iOS 7 【发布时间】:2014-01-02 18:43:48 【问题描述】:

我在网络上的一些地方看到过这个问题,但还没有在任何地方找到答案。

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

_itemFailedToPlayToEnd: 种类 = 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"]];

我无法找到解决方案。

请帮忙。

【问题讨论】:

这个麻烦你解决了吗? @Sk0prion 我已经回答了我的问题 @Sunnyshah 请接受您自己的答案以结束此问题。 cdn.metacafe.com/videos/11419000/11419883/11419883.m3u8 【参考方案1】:

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

MPMoviePlayerController 直接不会播放 youtube 视频。您必须提取视频 URL 并将视频 URL 设置为 MPMoviePlayerController。播放此视频后。

有很多 API 可以提供提取的视频 URL。

其中一些在下面

XCDYouTubeKit

HCYoutubeParser

但使用此 API,您的申请可能会被拒绝。你应该使用你的风险。

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

我们不是在谈论播放本地视频。在这里我们要播放 YouTube 视频。 我明白...对不起,我遇到了同样的错误,所以也许我的回答会对某人有所帮助。【参考方案3】:

如果我没记错的话ALMovieplayercontrollerMPMoviePlayerController 的扩展。 所以尝试将播放器的源类型设置为流。

moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;

【讨论】:

你能给出一个你试图设置的示例网址吗? 请检查更新后的问题,我使用的 URL 来自 youtube 好的,我看到您正在尝试加载常规的 youtube 网址。不幸的是,这不适用于ios。您可以在此处查看替代方案:***.com/questions/1779511/…。希望有帮助:)

以上是关于播放 youtube 视频 iOS 7 时 MPMoviePlayerController 错误 _itemFailedToPlayToEnd的主要内容,如果未能解决你的问题,请参考以下文章

嵌入的 YouTube 视频无法在 iPad (iOS 7) 上播放,而 HTML5 搜索输入可见

播放视频时如何自动跳过 youtube iOS 应用中的广告?

使用 YouTube Helper Library iOS 在后台播放 youtube 视频

iOS5:在模态 UIViewController 中播放 Youtube 视频时 UIWebView 出现异常

youtube.com 上的视频如何在 iOS 上自动播放

如何在没有 UIWebView 的情况下播放 youtube 视频或在 youtube 视频开始使用 webview 播放时检测视频播放器?