UIWebview中的Youtube视频自动播放

时间:2012-04-30 14:57:05

标签: ios uiwebview youtube embed autoplay

我在这个论坛上发现了许多关于嵌入YouTube视频和自动播放的问题,但没有一个问题清除了我的疑虑。

我找到了两种在UIWebView中嵌入youtube视频的方法

1)

NSString *youTubeHTMLTemplate = @"<html><head><style type=\"text/css\">body { background-color: transparent;color: white;}</style></head><body style=\"margin:0\"><embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"%0.0f\" height=\"%0.0f\"></embed></body></html>"; 
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, fullYopuTubeUrl, htmlFrameWidth, htmlFrameHeight];

2)

NSString *youTubeHTMLTemplate = @"<html><body style=\"margin:0;padding:0;\"><iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, htmlFrameWidth, htmlFrameHeight, videoID];

如果我使用(1)方法并遵循给定here我的视频自动播放的方法。想法是在UIWebView中找到按钮并向其发送补充事件。

如果我使用(2)并按照相同的方法,视频不会自动播放。

我认为建议使用(2)方法,因为(1)仅用于Flash视频(对吗?)。

无论如何(2)是可能的吗?这个link说不。

任何人都可以确认

  • 如果我是正确的,建议使用(2)
  • 无法使用(2)进行自动播放。

4 个答案:

答案 0 :(得分:3)

Q值。如果我是正确的,建议使用(2)

一个。是(2)方法适用于没有闪存支持的i设备。

Q值。无法使用(2)进行自动播放。

一个。目前无法自动播放。

更新:我可以使用Youtube JS API自动播放youtube视频,请参阅https://developers.google.com/youtube/js_api_reference

只需从onPlayerReady

调用playVideo即可
function onPlayerReady(event) {
                event.target.playVideo();                    
            }

答案 1 :(得分:3)

我通过添加以下代码解决了这个问题:

webview.mediaPlaybackRequiresUserAction=NO;
webview.allowsInlineMediaPlayback=YES;

答案 2 :(得分:0)

可以通过发出:

来进行自动播放
webView.mediaPlaybackRequiresUserAction=FALSE;

答案 3 :(得分:-1)

你也可以使用 Saurabh Wadhwa Answer中的这个技巧,在UIWebView完成下载后激活endActionsForControlEvents:UIControlEventTouchUpInside

相关问题