Html 在iPhone上自动播放内置youtube视频

Html 在iPhone上自动播放内置youtube视频,html,ios,objective-c,youtube,uiwebview,Html,Ios,Objective C,Youtube,Uiwebview,我需要在IOS 5.0+的uiwebview中自动播放youtube的内联视频。 我设法让它与此内联: NSString *html = [NSString stringWithFormat:@"\ <html>\ <head>\ <script type='text/javascript'>\ function onPlayerReady(

我需要在IOS 5.0+的uiwebview中自动播放youtube的内联视频。 我设法让它与此内联:

   NSString *html = [NSString stringWithFormat:@"\
             <html>\
             <head>\
             <script type='text/javascript'>\
                  function onPlayerReady(event) {\
                  event.target.playVideo();\
                  }\
            </script>\
             <style type=\"text/css\">\
             iframe {position:absolute; top:0%%; margin-top:-0px;}\
             body {background-color:#000; margin:0;}\
             </style>\
             </head>\
             <body>\
             <iframe width=\"100%%\"  src=\"https://www.youtube.com/embed/%@?feature=player_detailpage& modestbranding=1&amp;rel=0;autoplay=1;showinfo=0;loop=1;autohide=1;playsinline=1;autoplay=1\" frameborder=\"0\" allowfullscreen></iframe>\
             </body>\
             </html>", ID];
   [videoWebView loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];
NSString*html=[nsstringwithformat:@]\
\
\
\
函数onPlayerReady(事件){\
event.target.playVideo()\
}\
\
\
iframe{位置:绝对;顶部:0%%;页边顶部:-0px;}\
正文{背景色:#000;边距:0;}\
\
\
\
\
\
“,ID];
[videoWebView加载HtmlString:html基本URL:[[NSBundle mainBundle]resourceURL]];
但我不知道如何让它自动播放。 我还找到了另一个解决方案,它可以自动播放视频,但它是全屏启动的,我不知道如何使它内联

    NSString *youTubeVideoHTML = @"<!DOCTYPE html><html><head><style>body{margin:0px 0px 0px 0px;}</style></head> 
<body> <div id=\"player\"></div> 
    <script> var tag = document.createElement('script'); 
    tag.src = \"http://www.youtube.com/player_api\"; 
    var firstScriptTag = document.getElementsByTagName('script')[0]; 
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 
    var player; 
    function onYouTubePlayerAPIReady() { 
        player = new YT.Player('player', {width:'%d', height: '%d', videoId:'%@', events: { 'onReady': onPlayerReady, } }); } 
        function onPlayerReady(event) { event.target.playVideo(); } 
    </script> 
</body> </html>";

    NSString *html = [NSString stringWithFormat:youTubeVideoHTML, 320, 150, ID];
    [videoWebView loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];
NSString*youTubeVideoHTML=@“正文{margin:0px 0px 0px;}
var tag=document.createElement('script');
tag.src=\”http://www.youtube.com/player_api\"; 
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var播放器;
函数onYouTubePlayerAPIReady(){
player=new YT.player('player',{width:'%d',height:'%d',videoId:'%@',事件:{'onReady':onPlayerReady,}});}
函数onPlayerReady(event){event.target.playVideo();}
";
NSString*html=[NSString stringWithFormat:youTubeVideoHTML,320150,ID];
[videoWebView加载HtmlString:html基本URL:[[NSBundle mainBundle]resourceURL]];
有没有办法让js版本内联或第一个版本自动播放?还是有其他解决办法?

我终于找到了。 在JS版本中,您可以指定播放器参数(比如“showinfo”、“rel”当然还有“playsinline”)

您只需添加
playerVars
对象并在其中指定参数。 因此,代码如下所示:

NSString *youTubeVideoHTML = @"<!DOCTYPE html><html><head><style>body{margin:0px 0px 0px 0px;}</style></head> <body> <div id=\"player\"></div> <script> var tag = document.createElement('script'); tag.src = \"http://www.youtube.com/player_api\"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', {width:'%d', height: '%d', videoId:'%@', playerVars: {'playsinline' : 1, 'rel':0, 'showinfo':0}, events: { 'onReady': onPlayerReady, } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>";

NSString *html = [NSString stringWithFormat:youTubeVideoHTML, 320, 180, ID];
[videoWebView loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];
NSString*youTubeVideoHTML=@“body{margin:0px 0px 0px;}var tag=document.createElement('script');tag.src=\”http://www.youtube.com/player_api\“var firstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);var player;函数onYouTubePlayerAPIReady(){player=new YT.player('player',{width:'%d',height:'%d',videoId:'%@',playerBars:{'playsinline':1,'rel':0,'showinfo':0},事件:{'onReady':onPlayerReady,}};}函数onPlayerReady(event){event.target.playerveo();}”;
NSString*html=[NSString stringWithFormat:youTubeVideoHTML,320,180,ID];
[videoWebView加载HtmlString:html基本URL:[[NSBundle mainBundle]resourceURL]];
我终于找到了它。 在JS版本中,您可以指定播放器参数(比如“showinfo”、“rel”当然还有“playsinline”)

您只需添加
playerVars
对象并在其中指定参数。 因此,代码如下所示:

NSString *youTubeVideoHTML = @"<!DOCTYPE html><html><head><style>body{margin:0px 0px 0px 0px;}</style></head> <body> <div id=\"player\"></div> <script> var tag = document.createElement('script'); tag.src = \"http://www.youtube.com/player_api\"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', {width:'%d', height: '%d', videoId:'%@', playerVars: {'playsinline' : 1, 'rel':0, 'showinfo':0}, events: { 'onReady': onPlayerReady, } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>";

NSString *html = [NSString stringWithFormat:youTubeVideoHTML, 320, 180, ID];
[videoWebView loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];
NSString*youTubeVideoHTML=@“body{margin:0px 0px 0px;}var tag=document.createElement('script');tag.src=\”http://www.youtube.com/player_api\“var firstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);var player;函数onYouTubePlayerAPIReady(){player=new YT.player('player',{width:'%d',height:'%d',videoId:'%@',playerBars:{'playsinline':1,'rel':0,'showinfo':0},事件:{'onReady':onPlayerReady,}};}函数onPlayerReady(event){event.target.playerveo();}”;
NSString*html=[NSString stringWithFormat:youTubeVideoHTML,320,180,ID];
[videoWebView加载HtmlString:html基本URL:[[NSBundle mainBundle]resourceURL]];

为什么不使用本机视频播放器?

试试wrapper,它很容易集成。

为什么不使用本机视频播放器?

试试wrapper,它很容易集成。

因为我认为它违反了youtube规则,因为我认为它违反了youtube规则