播放YouTube视频用的MPMoviePlayerController而非UIWebView的播放

2019-05-08 16:52发布

我试图流使用的MPMoviePlayerController一些YouTube视频,但我有一些问题。 我使用的代码非常简单,我可以通过传递一个URL来initWithContentURL玩的.m4v视频。 当我启动电影播放器​​随身自带了,但约20秒后刚刚消失。 当我尝试在模拟器中我得到的说,服务器配置不正确的警报视图。 是否有我需要的URL从谷歌获得特定类型的视频输入信号来传递参数?

NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];

[moviePlayer play];

我也试过以下网址的http://www.youtube.com/watch?v=HGd9qAfpZio

我也看到了论证&FORMAT = 1,并试图将它添加到两个字符串,但没有运气的结束。

Answer 1:

有你自己的应用程序内的YouTube视频播放的唯一方法是创建一个UIWebView来自于YouTube嵌入标记您要为播放影片UIWebView's内容。 UIWebView会检测到嵌入对象是一个YouTube链接,在网络上查看的内容将是YouTube的预览视频。 当您的用户点击预览,视频将在的MPMoviePlayerController显示。 这是在那个Muxecoid提供(该链接中描述的技术如何发挥应用程序中的YouTube视频 ),这是(据我所知道的)有一个应用程序中的YouTube视频播放的唯一途径。 您仍然可以通过将YouTube网址具有的Youtube应用程序启动-[UIApplication openURL:] ,当然,这一关自己的应用程序,它通常是不可取的。

不幸的是,有没有办法直接播放YouTube视频用MPMoviePlayerController因为YouTube不公开直接链接到视频文件。



Answer 2:

如果您使用的代码:

- (void)embedYouTube:(NSString*)url frame:(CGRect)frame {  
     NSString* embedHTML = @"\ 
        <html><head>\ 
     <style type=\"text/css\">\ 
     body {\ 
     background-color: transparent;\ 
     color: white;\ 
    }\ 
   </style>\ 
    </head><body style=\"margin:0\">\ 
       <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
    width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
       </body></html>";  
   NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height];  
   if(videoView == nil) {  
      videoView = [[UIWebView alloc] initWithFrame:frame];  
     [self.view addSubview:videoView];  
    }  
    [videoView loadHTMLString:html baseURL:nil];  
  }

资源:

只要参照这个链接

请确保您测试设备上,而不是在模拟器上。 由于模拟器将一直显示问号蓝色框(它没有快速的时间播放器)。



Answer 3:

正如我在我的评论上面写的我不得不这样做的一个项目我工作。 我已经解决了这个问题,并提交在GitHub上的代码。

您可以查看源和叉就在这里 。

它主要负责YouTube网址,并且获得所有的iOS兼容的视频网址。

希望这是任何人的帮助!
干杯



Answer 4:

我对面有人谁是能够把一个偶然YouTube内部视频MPMoviePlayerController 。 现在确实出现成为可能。

LBYouTubeView



Answer 5:

发挥你管的视频,你需要将网址传递到之前提取网址MPMoviePlayer 。 你不能直接播放。

我的GitHub库有这个演示的实现。

看到:

https://github.com/DpzAtMicRO/IOSYoutubePlayer

试试吧,这使得它可以装入并直接播放YouTube视频MPMoviePlayer就像任何其他的视频和不错的办法了。

编辑:还有在项目中使用此之前请确保你通过Readme.md



Answer 6:

这是因为采取的iframe src元素为新的嵌入代码并调用一样简单

[self.webView loadRequest:[NSURLRequest requestWithURL:self.url]];


Answer 7:

请检查下面的链接。 我认为这会帮助你。

https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html



Answer 8:

有嵌入YouTube视频,其中谷歌提供的iOS应用程序的官方途径。

通过安装的CocoaPods库:荚 “的YouTube-IOS玩家辅助”

通过导入: #import “YTPlayerView.h”使用UIView ,并设置类YTPlayerView或创建的对象YTPlayerView编程。

负载视频: [self.playerView loadWithVideoId:@"M7lc1UVf-VE"];

还有playVideostopVideo方法可用。 欲了解更多信息请访问此链接



文章来源: Play YouTube videos with MPMoviePlayerController instead of UIWebView