我已经看到这里提到了网络上的几个地方,但还没有找到答案.
我正在使用ALMovieplayercontroller库.一切都很好,但是当我试图播放Youtube视频时,它会给我错误.
_itemFailedToPlayToEnd:{
kind = 1;
new = 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"]];
我无法找到解决方案.
请帮忙.
解决方法
是的,经过这么多的研究,我发现以下解决.
MPMoviePlayerController直接不会播放YouTube视频.您必须提取视频网址并将视频网址设置为MPMoviePlayerController.此视频将播放.
有很多可用的API可以提供提取的视频URL.
其中一些在下面
XCDYouTubeKit
HCYoutubeParser
但是使用这个API你的应用可能会被拒绝.你应该使用你的风险.
播放YouTube视频的最佳方式是WebView.