UIWebView играет inline без автозапуска не работает, используя iframe

В настоящее время я ищу этот вопрос, но я не могу найти решение. Я использую youtube с iframe в UIWebview. Я хочу сделать это playinline без автоматического воспроизведения, следуя коду

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')\ }\ </script>\ <iframe id='playerId' type='text/html' width='%d' height='%d' src='http://www.youtube.com/embed/%@?enablejsapi=1&rel=0&playsinline=1&autoplay=0' frameborder='0'>\ </body>\ </html>", (int)myWidth, (int)myHeight, _youtubeCode]; 

но это не сработает. Если вы используете этот код, затем нажмите веб-просмотр, чтобы воспроизвести видео, он позволяет всплывать видеопроигрыватель для воспроизведения видео.

Я только успел воспроизвести видеоролик, выполнив следующий код, но он должен автовоспроизвести видео

  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('playerLiveId',{events:{onReady:onPlayerReady}})\ }\ function onPlayerReady(a)\ { \ a.target.playVideo(); \ }\ </script>\ <iframe id='playerLiveId' type='text/html' width='%d' height='%d' src='http://www.youtube.com/embed/%@?enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'>\ </body>\ </html>", (int)myWidth, (int)myHeight, _youtubeCode]; 

Мне нужна ваша помощь, пожалуйста. кстати, извините за мой английский.

Вы пытались добавить следующее:

 webView.allowsInlineMediaPlayback = YES; 

на ваш код UIWebview?

У меня такая же проблема. Если вы используете Youtube API для воспроизведения видео, он может играть inline в обычном режиме. Но если пользователь нажмет большой красный значок, плеер перейдет в полноэкранный режим. Я исправил его, добавив оверлейный вид и удалив его после игры.

 UIView *overlayer = [[UIView alloc] initWithFrame:ytWebView.bounds]; [overlayer setAutoresizingMask:(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth)]; [overlayer setBackgroundColor:[UIColor clearColor]]; [ytWebView addSubview:overlayer]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(playVideo:)]; [overlayer addGestureRecognizer:tap]; self.overlayer = overlayer; 

И внутри вашего playVideo: вы используете Youtube API для воспроизведения видео и не забудьте удалить наложения. Надеюсь, что hep!

  • YouTube iframe слишком медленный в приложении iOS
  • iOS youtube совместно с родным диалогом
  • Воспроизведение полноэкранного видео youtube в UIWebView на iOS 6
  • Загрузка URL-адреса Youtube и воспроизведение только аудиофайла видеофайла
  • Как загрузить видео с YouTube в iOS
  • IOS - Parsing Youtube RSS с помощью GData - Проблемы с пространством имен
  • Как показать загрузку контента с YouTube?
  • Захват полноэкранного события для полноэкранного Youtube iFrame и программного обеспечения в полноэкранном режиме
  • Отчет: Истребитель YouTube iFrame выходит из строя в iOS 9.0.x UIWebView (с 2016-09-02)
  • Извлеките мой канал YouTube в мое приложение для iOS
  • iOS Embedded Youtube Player, не позволяющий ландшафтный режим
  • Давайте будем гением компьютера.