我到处都看过如何做到这一点,还没有找到答案。 是否可以在iPhone内联的UIWebView中播放YouTube视频,即不是全屏? 我知道iPhone不支持flash,但youtube支持html5并且有h.264视频不是吗?我不应该这样做吗?
我已将allowsInlineMediaPlayback设置为YES,但仍然会全屏播放。
答案 0 :(得分:34)
是的,你可以,你需要在UIWebView上设置属性
webView.allowsInlineMediaPlayback=YES;
您需要在YouTube iframe嵌入代码中添加& playsinline = 1。
<iframe webkit-playsinline width="200" height="200" src="https://www.youtube.com/embed/GOiIxqcbzyM?feature=player_detailpage&playsinline=1" frameborder="0"></iframe>
在运行iOS 6.1.2的iPhone 4S上测试就像魅力一样。
答案 1 :(得分:2)
allowInlineMediaPlayback UIWebView属性
布尔值,用于确定 HTML5 视频是否内联播放或使用本机全屏控制器。 (developer.apple.com)
您可以在iPad上使用此功能。在iPhone上没有这样的功能。如果您尝试在iPhone上使用uiwebview播放视频,它将以全屏模式播放。
答案 2 :(得分:0)
是的,您可以在&#34; playsinline = 1 &#34;的帮助下播放任何嵌入式视频内联UIWebView。
源代码如:
NSMutableString *html = [[NSMutableString alloc] initWithCapacity:1] ;
[html appendString:@"<html><head>"];
[html appendString:@"<style type=\"text/css\">"];
[html appendString:@"body {"];
[html appendString:@"background-color: transparent;"];
[html appendString:@"color: white;"];
[html appendString:@"}"];
[html appendString:@"</style>"];
[html appendString:@"</head><body style=\"margin:0\">"];
[html appendString:@"<iframe webkit-playsinline width=\"300\" height=\"220\" src=\"http://www.ustream.tv/embed/23192315?html5ui&showtitle=false&playsinline=1\" frameborder=\"0\"></iframe>"];
[html appendString:@"</body></html>"];
[self.webViewRef loadHTMLString:html baseURL:nil];