Подтвердить что ты не робот

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 в моем телефоне? Будет ли это действительно работать?

4b9b3361

Ответ 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 и мои старые слайды