使用UIWebView点击播放按钮无法启动嵌入式Youtube视频

时间:2014-10-01 08:20:19

标签: ios uiwebview youtube

我在iOS上的UIWebView中嵌入了一个Youtube视频,到目前为止它已经正常工作。显示视频“海报框”,顶部有正常的红色“播放”按钮。点击播放按钮只会轻触外部播放按钮启动视频。我首先想到这是一个与iOS 8相关的问题,但同样的问题也发生在iOS 7(模拟器)上。这真的很烦人,因为我们的用户自然会点击播放按钮,它什么都不做。

有没有人知道Youtube是否改变了可能导致此问题的内容?

以下是我用于在应用中显示视频的代码:

NSString* urlString = [NSString stringWithFormat:@"http://www.youtube.com/embed/%@", videoId];
NSMutableString* html = [[[NSMutableString alloc] initWithCapacity:1] autorelease];
[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 appendFormat:@"<iframe class='youtube-player' type='text/html' width='%0.0f' height='%0.0f' src='%@' frameborder='0'></iframe>", frame.size.width, frame.size.height, urlString];
[html appendString:@"</body></html>"];

NSLog(@"Opening HTML: %@", html);
videoView2 = [[UIWebView alloc] initWithFrame:frame];
[videoView2 setMediaPlaybackRequiresUserAction:NO];
[videoView2 loadHTMLString:html baseURL:nil];
...

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,似乎有一个涉及&#34;控件的解决方法&#34; YouTube播放器参数。如果设置&#34; controls = 0&#34; (默认为&#34; controls = 1&#34;),红色播放按钮是可点击的。我不太喜欢这个解决方案,因为它显然隐藏了控件,但它确实允许点击红色播放按钮。