Подтвердить что ты не робот

Играть в YouTube в WebView

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

android:hardwareAccelerated="true"

И воела, даже видео youtube начал играть

Ответ 3

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

Прочитайте мое сообщение в группе разработчиков Android: YouTube в эмуляторе?

В принципе, лучший способ воспроизведения клипов YouTube - создать для него свою собственную деятельность, и вот отличный пример: Польское приложение: Бесплатная встраиваемая активность Android на YouTube!

ОБНОВЛЕНИЕ. Исправлены проблемы с несовместимостью из-за изменений токена YouTube. Последняя версия компонента должна отлично работать для публичных видеороликов YouTube.

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

VideoEnabledWebView cprcrack