Play Youtube HTML5 встроенное видео в Android WebView
У меня возникла проблема с HTML5 Youtube, встроенным в WebView.
Я хочу воспроизвести видео Youtube в своем приложении. Я решил использовать WebView вместо VideoView, потому что хочу сделать свою систему более гибкой, чтобы воспроизводить видео из Интернета.
Хотя есть много способов получить playout youtube на Android, но я буду использовать встроенную версию youtube. " http://www.youtube.com/embed/___________________". Поскольку это одно из решений, которое я нашел, когда ваш Android не поддерживает флеш.
Проблема:
Загрузка WebView как обычно, включая встроенный Youtube. Но при запуске я получаю черный экран на YouTube.
Когда я нажимаю на него. Он загружает только первое изображение, но затем он не воспроизводится. Я пытался играть в браузере Android, он работает плавно, но не в веб-браузере.
Любая идея, почему?
Ниже приведен только код моего кода:
WebView wv = new WebView(getApplicationContext());
wv.getSettings().setPluginState(PluginState.ON);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html");
setContentView(wv);
Вот некоторые из ресурсов, которые я нашел очень полезными:
Заранее благодарю за поддержку и помощь:)
Обновление (13 июня 2011 г.):
Я успешно загрузил http://m.youtube.com внутри WebView, но не смог воспроизвести какое-либо видео. Но когда я попытался загрузить URL-адрес в своем Android-браузере, он может играть.
Отсюда я заметил, что сайт youtube из моего WebView не подписан. Итак, как мы можем разрешить WebView использовать те же учетные данные, что и моя учетная запись Youtube в моем телефоне? Будет ли это действительно работать?
Ответы
Ответ 1
Шаг 1: просто добавьте это в файл манифеста
android:hardwareAccelerated="true"
шаг 2: проверьте, настроен ли слой для вашего веб-просмотра.
(т.е.).
//myWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
настройка аппаратного ускорения на true и комментирование этих строк работало для меня.
Чтобы узнать больше об аппаратном ускорении и слоях, смотрите здесь http://developer.android.com/guide/topics/graphics/hardware-accel.html
Ответ 2
ИЗМЕНИТЬ
Итак, из комментария мы вычитали:
На этом веб-сайте: www.youtube.com/html5 говорится, что вам нужно войти в систему, а затем выбрать для воспроизведения видео в формате HTML5
Вот почему ваше видео не загружается, оно перенаправляется на флеш-версию, а ваш веб-просмотр не имеет флэш-памяти.
Оригинал
Вы переопределяете загрузку URL-адресов, поэтому ваш веб-просмотр используется?
wv.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
Вы говорите, что видео не будет воспроизводиться, но сайт загружается?
Вы можете попробовать лгать на YouTube и сообщить им свой браузер (возможно, притвориться браузером Android). Firefox:
wv.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.36 (KHTML, like Gecko) Chrome/13.0.766.0 Safari/534.36");
Ответ 3
Как включить HTML5 в Android WebView недостаточно документально. Вы можете попробовать мои HTML5WebView и мои старые слайды