我需要在 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);
有关更多详细信息,请参阅我正在处理的来源:
关于android - 在 Google TV 上的 Android Webview 中播放 YouTube 内容时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9233556/