Могу ли я воспроизводить видео на YouTube во встроенном UIWebView (не в полноэкранном режиме)? - PullRequest
15 голосов
/ 15 июля 2011

Я везде искал, как это сделать, и пока не нашел ответа.Можно ли воспроизводить видео с YouTube в UIWebView на iPhone, например, не в полноэкранном режиме?Я знаю, что iPhone не поддерживает флэш, но YouTube поддерживает HTML5 и имеет видео h.264, не так ли?разве я не смогу сделать это тогда?

Я установил для allowInlineMediaPlayback значение YES, но он по-прежнему воспроизводится во весь экран.

Ответы [ 3 ]

34 голосов
/ 03 марта 2013

Да, вы можете, вам нужно установить свойство в UIWebView

 webView.allowsInlineMediaPlayback=YES;

И вам нужно добавить & playsinline = 1 в код встраивания iframe YouTube.

 <iframe webkit-playsinline width="200" height="200" src="https://www.youtube.com/embed/GOiIxqcbzyM?feature=player_detailpage&playsinline=1" frameborder="0"></iframe>

Протестировано на iPhone 4Sпод управлением iOS 6.1.2 работает как шарм.

2 голосов
/ 26 сентября 2011

позволяет свойствам InlineMediaPlayback UIWebView

Логическое значение, которое определяет, будет ли HTML5 видео воспроизводиться встроенным или использовать собственный полноэкранный контроллер. (Developer.apple.com)

Вы можете использовать эту функцию на iPad. На айфоне такой функции нет. Если вы попытаетесь воспроизвести видео с помощью uiwebview на iPhone, оно будет воспроизводиться в полноэкранном режиме.

0 голосов
/ 26 мая 2017

Да, вы можете воспроизводить любое встроенное видео непосредственно в UIWebView с помощью " playsinline = 1 ".

Исходный код типа:

    NSMutableString *html = [[NSMutableString alloc] initWithCapacity:1] ;
[html appendString:@"<html><head>"];
[html appendString:@"<style type=\"text/css\">"];
[html appendString:@"body {"];
[html appendString:@"background-color: transparent;"];
[html appendString:@"color: white;"];
[html appendString:@"}"];
[html appendString:@"</style>"];
[html appendString:@"</head><body style=\"margin:0\">"];
[html appendString:@"<iframe webkit-playsinline width=\"300\" height=\"220\" src=\"http://www.ustream.tv/embed/23192315?html5ui&showtitle=false&playsinline=1\" frameborder=\"0\"></iframe>"];
[html appendString:@"</body></html>"];
[self.webViewRef loadHTMLString:html baseURL:nil];
...