我在这个论坛上发现了许多关于嵌入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说不。
任何人都可以确认
答案 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