воспроизводить видео на YouTube в WebView - PullRequest
14 голосов
/ 18 февраля 2010

В моем приложении для Android у меня есть WebView для отображения HTML-данных с нашего сайта. Иногда на страницу будут встроены объекты YouTube. Это не отображается должным образом в приложении. Есть ли способ показать / воспроизвести видео YouTube в WebView? Спасибо.

Ответы [ 7 ]

8 голосов
/ 19 февраля 2010

Вы не можете показать их встроенными, за исключением, возможно, на устройствах, которые имеют Flash.

Однако, если вы сможете разобрать детали видео на YouTube, вы можете создать ACTION_VIEW Intent, который будет отображатьих в приложении YouTube ... для тех устройств Android, на которых установлено приложение YouTube.

Вы также можете поэкспериментировать с тегом <video> HTML5, который AFAIK поддерживается в приложении Browser и поэтому может работать в * 1008.*.

7 голосов
/ 17 октября 2011

Я пришел по этому посту: ссылка

И действительно, мне в основном нужно было добавить в манифест приложения xml:

android:hardwareAccelerated="true"

И вуаля, даже видео на YouTube начали воспроизводиться

6 голосов
/ 27 января 2011
webView.setWebViewClient(new WebViewClient()
{
 public boolean shouldOverrideUrlLoading(WebView view, String url)
 {
  // YouTube video link
  if (url.startsWith("vnd.youtube:"))
  {
   int n = url.indexOf("?");
   if (n > 0)
   {
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length(),n)));
   }
   return (true);
  }

  return (false);
 }
});

Ваш WebView (webView) отправит вам сообщение shouldOverrideUrlLoading с URL-адресом, который выглядит следующим образом:

vnd.youtube: {VIDEO_ID} {PARMS}

?

Выполните синтаксический анализ, чтобы преобразовать его в http://www.youtube.com/v/{VIDEO_ID},, а затем передайте этот исправленный URL-адрес как намерение.

У меня работает ...

4 голосов
/ 19 февраля 2010
2 голосов
/ 19 февраля 2010

Вы можете попробовать переключить свой веб-сайт, чтобы встроить HTML5-версию проигрывателя YouTube вместо флэш-версии. Все еще не уверен, что это будет работать на 100%, но он, очевидно, будет работать лучше, чем флэш-версия на устройствах, которые в настоящее время не поддерживают флэш.

Редактировать: Не имеет значения, похоже, что версия HTML5 также требует, чтобы браузер поддерживал кодек H.264, который, похоже, не поддерживается ни одним из устройств Android в настоящее время.

0 голосов
/ 25 июня 2015

В веб-приложении android я использую библиотеку для тегов html5-видео, она работает для всех видео на YouTube и большинства флеш-видео, а также поддерживает вход и выход из полноэкранного режима среди других функций.

VideoEnabledWebView от cprcrack

0 голосов
/ 19 апреля 2013

Встроенные видео YouTube хорошо работают в браузерах настольных компьютеров и в браузерах iPhone (даже если они встроены в приложения на iPhone), поэтому проблема, скорее всего, в Android, а не в YouTube.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...