YouTube встроенное видео: функция автозапуска не работает в iphone - PullRequest
49 голосов
/ 15 ноября 2011

У меня есть ссылка на видео YouTube на странице HTML5, которую я хочу автозапуск .

Следующий код работает в браузерах, но в iphone;он не работает и нуждается в дополнительном щелчке.

<iframe type="text/html" width="125" height="100" src="http://www.youtube.com/embed/d_g0251EfB8?autoplay=1" frameborder="0"></iframe>

что делать

Ответы [ 3 ]

66 голосов
/ 15 ноября 2011

Это не может быть сделано. По разным причинам (включая, но не ограничиваясь использованием данных) Apple не разрешает автоматическое воспроизведение видео.

См. принятый ответ на этот вопрос .

3 голосов
/ 30 марта 2016

Я пробовал следующие видео и YouTube успешно автоматически воспроизводятся в полноэкранном режиме, когда веб-просмотр завершает загрузку:

[self.webView setAllowsInlineMediaPlayback:YES];
[self.webView setMediaPlaybackRequiresUserAction:NO];

[self.view addSubview:self.webView];

NSString* embedHTML = [NSString stringWithFormat:@"\
                       <html>\
                       <body style='margin:0px;padding:0px;'>\
                       <script type='text/javascript' src='http://www.youtube.com/iframe_api'></script>\
                       <script type='text/javascript'>\
                       function onYouTubeIframeAPIReady()\
                       {\
                       ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})\
                       }\
                       function onPlayerReady(a)\
                       { \
                       a.target.playVideo(); \
                       }\
                       </script>\
                       <iframe id='playerId' type='text/html' width='100%%' height='%f' src='http://www.youtube.com/embed/%@?enablejsapi=1&rel=0&playsinline=0&autoplay=1' frameborder='0'allowfullscreen>\
                       </body>\
                       </html>",self.webView.frame.size.height,@"Dw9jFO_coww"];


[self.webView bringSubviewToFront:self.btnBack];
self.webView.backgroundColor = [UIColor clearColor];
self.webView.opaque = NO;
[self.webView loadHTMLString:embedHTML baseURL:[[NSBundle mainBundle] resourceURL]];
1 голос
/ 02 июня 2017

ОБНОВЛЕНИЕ:

iOS 10+ теперь позволяет автоматически воспроизводить элементы HTML5 , просто отключите звук на элементах. Youtube все равно не будет. Android все еще SOL, но эй, это начало!

SAMPLE:

<video autoplay muted>
  <source src="movie.mp4" type="video/mp4">
  Sadly, your browser does not support the video tag X_x 
</video>

ИСТОЧНИК ИНФОРМАЦИИ: https://webkit.org/blog/6784/new-video-policies-for-ios/

...