Intereting Posts
Название проекта не отображается в моем затмении Раздражающий «Ошибки запускающего разработчика» Android Pre Компилятор «по проекту» диалог Увеличение размера кучи при создании исходного кода Android на Ubuntu 15.10 Появилась ли новая функция «Видимость пароля» для сломанного существующего drawableRight для EditTexts? Рисование градиента в Libgdx Создание рекламного объявления Admob Intra-Capture Intage не может вернуться в Galaxy Tab Limited Edition Android – ListView внутри галереи делает прокрутку не гладкой При сохранении растрового изображения на диск сплошные пути показывают артефакты Почему явный аргумент типа должен быть заменен алмазом? Андроид не может найти jni-библиотеку при установке в качестве системного приложения Navigator.geolocation.getCurrentPosition всегда получает тайм-аут в Android до тех пор, пока GPS / Location не будет Genymotion Google Nexus 6P 7.0.0 с Open_Gapps arm 7.0.0 Просмотр внешних границ, не правильно рисующих ExceptionWithContext получает бросок при попытке создать Android-приложение с Ant

Играть в YouTube в WebView

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

Solutions Collecting From Web of "Играть в YouTube в WebView"

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

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

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

Я прошел через этот пост: link

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

 android:hardwareAccelerated="true" 

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

 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 как намерение.

Работает на меня…

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

В принципе, лучший способ воспроизведения роликов YouTube – создать для вас свою собственную деятельность, и вот отличный пример: Polish Your App: Free Embeddable Android YouTube Activity!

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

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

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

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

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

VideoEnabledWebView от cprcrack