我可以在 UIWebView 内嵌(非全屏)中播放 YouTube 视频吗?

发布于 2024-11-23 15:17:54 字数 211 浏览 1 评论 0原文

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

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

I have looked everywhere on how to do this and haven't found an answer yet.
Is it possible to play a youtube video in a UIWebView on an iPhone inline, i.e. not fullscreen?
I know that the iPhone doesn't support flash, but youtube supports html5 and has h.264 videos doesn't it? shouldn't I be able to do this then?

I have set allowsInlineMediaPlayback to YES, but still it plays fullscreen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

ゝ杯具 2024-11-30 15:17:54

是的,您可以,您需要在 UIWebView 上设置属性

 webView.allowsInlineMediaPlayback=YES;

,并且需要将 &playsinline=1 添加到 YouTube iframe 嵌入代码中。

 <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 上进行测试,效果非常好。

Yes you can, you need to set property on UIWebView

 webView.allowsInlineMediaPlayback=YES;

And you need to add &playsinline=1 to YouTube iframe embedding code.

 <iframe webkit-playsinline width="200" height="200" src="https://www.youtube.com/embed/GOiIxqcbzyM?feature=player_detailpage&playsinline=1" frameborder="0"></iframe>

Tested on iPhone 4S running iOS 6.1.2 works like a charm.

提笔落墨 2024-11-30 15:17:54

allowsInlineMediaPlayback UIWebView 属性

布尔值,用于确定 HTML5 视频是内嵌播放还是使用本机全屏控制器。 (developer.apple.com)

您可以在 iPad 上使用此功能。 iPhone上没有这样的功能。如果您尝试在 iPhone 上使用 uiwebview 播放视频,它将以全屏模式播放。

allowsInlineMediaPlayback UIWebView properties

Boolean value that determines whether HTML5 videos play inline or use the native full-screen controller. (developer.apple.com)

You can use this feature on iPad. On the iPhone there is no such function. If you try play video with uiwebview on iPhone it will be played in full screen mode.

莳間冲淡了誓言ζ 2024-11-30 15:17:54

是的,您可以借助“playsinline=1”播放 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];

Yes, you can play any embed video inline UIWebView itself with help of "playsinline=1".

Source code like:

    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];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文