В моем приложении Android у меня есть WebView для отображения html-данных с нашего сайта. Иногда страница будет иметь объекты для встраивания youtube. Это не отображается правильно в приложении. Есть ли способ показать/воспроизвести видео на YouTube в WebView? Спасибо.
Играть в YouTube в WebView
Ответ 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 и большинства флеш-видео, поддерживая вход и выход из полноэкранного режима среди других функций.