尝试使用?rel = 0参数嵌入youtube视频,以便在视频播放完成后,它不会在播放器中显示相关视频,如下所示:
<iframe width="560" height="315" src="//www.youtube.com/embed/TRrL5j3MIvo?rel=0" frameborder="0" allowfullscreen></iframe>
这在桌面浏览器上运行良好,但似乎在iOS上,youtube正在删除网址末尾的所有参数。因此,当用户观看整个视频然后在移动YouTube播放器中按“完成”时,相关视频现在会显示在浏览器中。我的第一个想法是尝试在页面加载后用javascript追加?rel = 0 param,但没有运气。
答案 0 :(得分:0)
您可以将webview用作youtube播放器
尝试使用以下代码,这对我有用
<。>文件中的
@property(强大,非原子)UIWebView * webView; 并在您的.m文件中
NSString *videoURL = @"http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com";
//如果你的网址不是嵌入格式,或者它是动态的,那么你必须以嵌入格式转换它。
videoURL = [videoURL stringByReplacingOccurrencesOfString:@"watch?v=" withString:@"embed/"];
NSRange range = [videoURLString rangeOfString:@"&"];
@try {
videoURLString = [videoURLString substringToIndex:range.location];
}
@catch (NSException *exception) {
}
// here your link is converted in embed format.
NSString* embedHTML = [NSString stringWithFormat:@"\
<html><head>\
<style type=\"text/css\">\
iframe {position:absolute; top:50%%; margin-top:-130px;}\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<iframe width=\"100%%\" height=\"240px\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\
</body></html>",videoURL];
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
[self.view addSubview:self.webView];
[self.webView loadHTMLString:embedHTML baseURL:nil];
您可以根据需要更改webview框架,也可以更改videoUrl。
有两个概念,可嵌入和联合。 iOS设备使用iframe,因此它们基本上都嵌入了。使用播放器API的Android设备可以检查联合。
当您执行搜索 - &gt;列表时,您可以将videoEmbeddable和videoSyndicated设置为true。
或者,如果您要浏览视频,对于每个视频,您可以使用视频ID进行视频&gt;列表调用,并在响应中检查status.embeddable。
以下是关于此主题的博文,即使示例在v2中,信息仍然相关。
使用的信息来自&gt; YouTube Embed player in Iframe doesn't work in iOS6