iOS 7播放Youtube视频时,MPMoviePlayerController出现“_itemFailedToPlayToEnd”错误。

12

我在网上看到有人提到过这个问题,但还没有找到答案。

我正在使用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"]];

我找不到这个问题的解决方案。

请帮忙。


你解决了这个问题吗? - Gralex
@Sk0prion 我已经回答了我的问题。 - Sunny Shah
@Sunnyshah请接受您自己的答案以关闭此问题。 - Marco
http://cdn.metacafe.com/videos/11419000/11419883/11419883.m3u8 - Sunny Shah
3个回答

11

经过大量的研究,我找到了以下解决方案。

MPMoviePlayerController不能直接播放YouTube视频,您必须提取视频URL并将其设置为MPMoviePlayerController的视频URL,然后视频将被播放。

有很多API可用于提取视频URL。

其中一些如下所示

XCDYouTubeKit

HCYoutubeParser

但是使用这些API可能会导致您的应用程序被拒绝,您需要自己承担风险。

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


3

好的!问题在于播放器不知道你想要播放什么,

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

我们不是在讨论播放本地视频。这里我们想要播放YouTube视频。 - Sunny Shah
1
我理解...抱歉我也遇到了同样的错误,所以我的回答可能会对某些人有所帮助。 - ElizaS

0
如果我没记错的话,ALMovieplayercontrollerMPMoviePlayerController的扩展。所以尝试将播放器的源类型设置为流。
moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;

你能给出一个你试图设置的URL的例子吗? - Lirik
请检查更新后的问题,我正在使用的URL来自YouTube。 - Sunny Shah
好的,我看到你正在尝试加载一个普通的YouTube网址。不幸的是,在iOS上这是行不通的。你可以在这里看到替代方案:https://dev59.com/AnI-5IYBdhLWcg3wlpeW。希望能帮到你 :) - Lirik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接