В моем приложении для Android у меня есть WebView для отображения html-данных с нашего сайта. Иногда страница будет иметь объекты для встраивания youtube. Это не отображается правильно в приложении. Есть ли способ показать/воспроизвести видео на YouTube в WebView? Благодарю.play youtube video в WebView
ответ
Вы не можете показать их встроенными, за исключением, возможно, устройств, имеющих Flash.
Однако, если вы можете проанализировать информацию о видео YouTube, вы можете создать ACTION_VIEW
Intent
, который покажет их в приложении YouTube ... для тех устройств Android, на которых установлено приложение YouTube.
Вы также можете поэкспериментировать с тегом HTML5 <video>
, который поддерживается AFAIK в приложении Browser и поэтому может работать в WebView
.
спасибо Марк, я собираюсь с началом нового намерения на YouTube URL-адрес. –
Я пробовал использовать HTML5 без успеха. Браузер загружает «предварительный просмотр» видео, но не играет никакой функции воспроизведения. – Raykud
Вы можете попробовать переключить свой веб-сайт, чтобы вставить HTML5 version of the YouTube player вместо флеш-версии. Все еще не уверен, что это будет работать на 100%, но очевидно, что он будет работать лучше, чем версия флэш-памяти на устройствах, которые в настоящее время не поддерживают флэш-память.
Редактирование: Непонятно, что версия HTML5 также требует, чтобы браузер поддерживал кодек H.264, который не похож на поддерживаемые в настоящее время Android-устройства.
Спасибо за ваше редактирование, необходимо, чтобы информация: D – Warpzit
Читайте мой пост на группу андроида-разработчиков здесь: YouTube in the emulator?
В принципе, лучший способ играть клипы с YouTube должны создать свою собственную активность для него, и вот отличный пример: Polish Your App: Free Embeddable Android YouTube Activity!
UPDATE : Исправлены проблемы с несовместимостью из-за изменений токена YouTube. Последняя версия компонента должна отлично работать для публичных видеороликов YouTube.
Спасибо Феликс, я посмотрел на пользовательский плеер, но решил против него. Причина в том, что плеер по умолчанию имеет больше функций, таких как закладка, в главном и т. Д., Которые не будут доступны на пользовательском проигрывателе. Кроме того, пользователь по умолчанию более знаком с пользователем. –
выглядел как именно то, что мне было нужно, но, похоже, оно сломано, изменение безопасности youtube, и теперь он не может найти видео. – schwiz
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 как намерение.
Работы для меня ...
Как я не получаю это событие, когда я нажимаю видеоизображение? Моя ссылка выглядит так: . Есть идеи? – newman
Он работает для меня на Android 2.1, но не в 2.2 ни 2.3: http://stackoverflow.com/questions/11215443/android-2-2-2-3-doesnt-load-youtube-videos-on-the- youtube-app-from-a-webview – Tae
Я наткнулся на этот пост: link
И в самом деле, я в основном только нужно добавить в манифест приложения XML:
android:hardwareAccelerated="true"
И вуаля, даже началось воспроизведение видео с youtube
Это похоже на работу, когда вы поддерживаете Honeycomb 3.0 и выше. – Notorious2tall
Да, наконечник хорош, и он действительно ТОЛЬКО работает на 3,0 и выше. –
Встроенные видеоролики youtube прекрасно работают в настольных браузерах и в iPhone-браузерах (даже если они встроены в приложения на iPhone), поэтому, похоже, это проблема с Android, а не с YouTube.
Существует библиотека, которую я использую для видеотег html5 в веб-браузере android, она работает для всех видеороликов YouTube и большинства флеш-видео, поддерживая ввод и выключение полноэкранного режима среди других функций.
Я ответил, как настроить WebView встраивать и воспроизводить YouTube видео здесь: http://stackoverflow.com/a/12850816/223440 –