android - 在 Google TV 上的 Android Webview 中播放 YouTube 内容时出错

标签 android google-tv

我需要在 Google TV 上的 Android 应用程序中播放 YouTube 视频内容。具体来说,我们希望在 Google TV 应用内的 Webview 中播放它。这适用于 Honeycomb 设备 (3.1),但不适用于 GTV。

这是我们正在测试的视频,以及我们如何通过加载到 Web View 中的 URL 链接它:

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

使用常规浏览器应用程序时,我们在 Webview 中加载的页面也可以正常工作(视频在那里播放,通过 iframe 嵌入,很好!)。

以下是我们正在使用的 Webview 设置:

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

当从我们自己的应用程序通过 Webview 加载在浏览器应用程序中工作的相同 URL 时,它会失败。屏幕在带有控件的框中显示初始 YouTube 视频,但当按下播放按钮时,框会变成纯黑色,并且不会播放任何视频。有时会播放音频,但不会播放视频。

Logcat 显示:

E/libEGL(14956): call to OpenGL ES API with no current context (logged once per thread) D/ShaderProgram(14956): couldn't load the vertex shader!

我确实发现了一个开放的错误报告,另一个用户也有同样的问题( http://code.google.com/p/android/issues/detail?id=22018 ),但没有后续行动,所以我想我会看看 SO 是否得到更多关注。有人对这个问题有更多的见解吗?

谢谢

最佳答案

我一直在研究同一问题的解决方案。它可以在平板电脑和 Google TV(包括 Revue)上运行。

与您的代码的主要区别在于,我在代码中的 android 应用程序中创建了 HTML 代码,并将其传递给 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

关于android - 在 Google TV 上的 Android Webview 中播放 YouTube 内容时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233556/

相关文章:

android ndk实践

android - 通过 XML 旋转可绘制对象不适用于 GoogleMap V2 上的标记

android - 在 android 中以圆形方式设置卫星菜单项

地理围栏的Android最大限制?

google-tv - 通过 Google TV 在直播电视上叠加信息的现状如何

java - Google TV - 效率设计是否与手机/平板电脑一样重要?

java - 在多个布局中使用 ViewBinding

android - 检测 Android 设备何时在移动的汽车中

Android Youtube 应用程序 -> GoogleTV 配对

android - 无法安装 Google TV SDK