5

我在这个论坛中发现了很多关于嵌入 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) 方法并按照此处给出的方法,我的视频会自动播放。想法是在 UIWebView 中找到按钮并向其发送修饰事件。

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

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

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

谁能确认

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

4 回答 4

4

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

webview.mediaPlaybackRequiresUserAction=NO;
webview.allowsInlineMediaPlayback=YES;
于 2014-04-14T10:32:25.670 回答
3

问:如果我是正确的,建议使用 (2)

A. 是 (2) 方法适用于不支持闪存的 i 设备。

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

A. 目前无法进行自动播放。

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

只需从 onPlayerReady 调用 playVideo

function onPlayerReady(event) {
                event.target.playVideo();                    
            }
于 2012-07-18T03:58:34.650 回答
0

通过发出以下命令可以实现自动播放:

webView.mediaPlaybackRequiresUserAction=FALSE;
于 2012-12-11T15:21:13.127 回答
-1

您还可以使用Saurabh Wadhwa AnswerendActionsForControlEvents:UIControlEventTouchUpInside中的这个技巧,在 UIWebView 完成下载后触发

于 2012-05-02T00:17:41.023 回答