在YouTube上播放来自YouTube API的VEVOvideo的限制

我build议使用UIWebView将video(从YouTube API v3中提取)embedded到我的iPhone应用程序中。 问题是某些video(如VEVO的video)在尝试在设备上播放video时会产生以下错误。

此video包含来自VEVO的内容。 它在某些网站上播放受到限制。

这不应该发生,因为像Flipboard和Rockpack这样的应用程序似乎也在使用UIWebView,并且能够播放来自VEVO和其他来源的video。

我可能做错了什么?

PS:我知道还有其他一些以某种方式涉及这个问题的post,但是他们没有解决这个具体问题。

使用YouTube的YTPlayerView for iOS并将origin属性设置为有效的URL,可以让许多VEVOvideo正常播放。

在您的视图控制器中:

 @property (weak, nonatomic) IBOutlet YTPlayerView *playerView; // .. NSDictionary *playerVars = @{ @"playsinline" : @1, @"showinfo" : @0, @"rel" : @0, @"controls" : @1, @"origin" : @"https://www.example.com", // this is critical @"modestbranding" : @1 }; [self.playerView loadWithVideoId:@"Ri7-vnrJD3k" playerVars:playerVars]; 

随着origin起源

没有origin没有起源

您是否收到来自VEVO的所有video的错误? 你确定你试图播放的video是可embedded的吗? 将“videoEmbeddable”参数添加为“true”值,以便您只能处理可embedded的video。

videoEmbeddable参数允许您将search限制为只能embedded到网页中的video。 如果为此参数指定值,则还必须将types参数的值设置为video。

可接受的值为:any – 返回所有可embedded或不可embedded的video。 真 – 仅检索可embedded的video。

来源: https : //developers.google.com/youtube/v3/docs/search/list#videoEmbeddable