Ошибки при воспроизведении контента YouTube из веб-браузера Android на Google TV - PullRequest
2 голосов
/ 10 февраля 2012

У меня есть требование воспроизводить видеоконтент YouTube из приложения Android на Google TV.В частности, мы хотели бы воспроизвести его из веб-просмотра в приложении Google TV.Это работает на сотовых устройствах (3.1), но не работает на GTV.

Вот видео, которое мы тестируем, и как мы связываем его через URL, который загружается в веб-просмотр:

<iframe class="youtube-player" type="text/html" width="400" height="285" src="http://www.youtube.com/embed/u1zgFlCw8Aw" frameborder="0">

Страница, которую мы загружаем в Webview, также РАБОТАЕТхорошо при использовании обычного приложения Browser (там воспроизводится видео, встроенное через iframe, просто отлично!).

Вот настройки веб-просмотра, которые мы используем:

  web.getSettings().setJavaScriptEnabled(true);
  web.getSettings().setPluginState(PluginState.ON);

При загрузке того же URL-адреса, который работает в приложении браузера, из нашего собственного приложения через веб-просмотр он не работает.На экране отображается исходное видео YouTube в окне с элементами управления, но при нажатии кнопки воспроизведения поле становится черным, и видео не воспроизводится.ИНОГДА проигрывается аудио, но не видео.

Logcat показывает:

E / libEGL (14956): вызов API OpenGL ES без текущего контекста (регистрируется один раз для потока) D / ShaderProgram (14956): невозможнозагрузите вершинный шейдер!

Я обнаружил открытый отчет об ошибке с другим пользователем, имеющим ту же проблему (http://code.google.com/p/android/issues/detail?id=22018), но там нет никаких последующих действий, поэтому я подумал, что увижуесли SO получает больше внимания. Есть ли у кого-нибудь еще понимание этой проблемы?

спасибо

1 Ответ

1 голос
/ 14 февраля 2012

Я работаю над решением той же проблемы. Работает как на планшетах, так и на Google TV (включая ревю).

Основное отличие от вашего кода в том, что я создаю код HTML в приложении для Android в коде и передаю его в webView.loadDataWithBaseURL

        webView.loadDataWithBaseURL("http://www.youtube.com", html, "text/html", "utf-8", null);

Для получения более подробной информации, пожалуйста, обратитесь к источнику, над которым я работаю:

http://code.google.com/p/android-reddittv/source/browse/trunk/RedditTV%20HD%20Android/src/com/elsewhat/reddittv/hd/YoutubePlayerActivty.java

...