Intereting Posts
Leanback.DetailsFragment не прокручивается, как ожидалось CustomDrawerLayout с четырех сторон экрана выдают с жестом Fling и обнаружением Ошибка "не может использовать клиент командной строки subversion: svn" при открытии проекта Android из svn Не удается запустить программу «\ ndk-build.cmd»: запуск не выполнен Что такое widthMeasureSpec и heightMeasureSpec в пользовательских представлениях Android? Разрешить пользователю выбирать камеру или галерею для изображения Android GCM (push-уведомление): устройство не получает уведомления, если приложение остановлено Правильная обработка исключения: «getParameters failed (пустые параметры)» Не удается найти идентификатор макета для <1% пользователей? Android-эмулятор с настройками прокси-сервера – Ошибка FATAL: .// android / base / sockets / Check failed: isValidFd (fd). Fd 1404 max1024 Может ли Android SDK работать с JDK 1.7? Интеграция NDK в студии Android Проблемы с аналитикой Google после обновления игровых сервисов до 7.5 «Auth_client_using_bad_version_title» переведено здесь, но не найдено в стандартном языковом выражении TextInputLayout не показывает подсказку EditText, прежде чем пользователь будет фокусироваться на ней

Играть в 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