我可以在UIWebView内联播放youtube视频(不是全屏)吗?

时间:2011-07-15 16:48:51

标签: uiwebview youtube inline

我到处都看过如何做到这一点,还没有找到答案。 是否可以在iPhone内联的UIWebView中播放YouTube视频,即不是全屏? 我知道iPhone不支持flash,但youtube支持html5并且有h.264视频不是吗?我不应该这样做吗?

我已将allowsInlineMediaPlayback设置为YES,但仍然会全屏播放。

3 个答案:

答案 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];