【问题标题】:Android Kitkat Webview Plays Only the Sound of the VideoAndroid Kitkat Webview 只播放视频的声音
【发布时间】:2015-12-12 23:24:11
【问题描述】:

在你降级之前,我知道当你用谷歌搜索这个主题时,有类似的问题。甚至它已经在 Stackoverflow 中得到了多次回答。

尽管我阅读了所有这些主题,但它们都没有解决我的问题。我的代码适用于果冻豆、棒棒糖和棉花糖变体。只有 kitkat 无法通过 webview 播放视频。例如在 Youtube 上,您可以听到音频,但根本看不到视频。 这也发生在 vimeo 中。You can see in this screenshot from emulator. I can actually listen the audio but cannot see the video.

我知道从 4.4.4 Webview 开始使用铬。我知道我应该添加这个:mWebView.setWebChromeClient(new WebChromeClient(){}); 另外我应该将android:hardwareAccelerated="false" 添加到我的清单文件中。但是,当加速为假时,视频永远不会加载。如果我添加android:hardwareAccelerated="true" 这次有音频但没有出现视频。

最后还是无法播放视频。如果您能帮助我解决这个问题,我将不胜感激。提前致谢。

如果有帮助,这些是一些错误日志:

E/chromium: [ERROR:gles2_cmd_decoder.cc(5942)] [.Compositor-Onscreen-0xb8bb47f8]GL ERROR :GL_INVALID_OPERATION : glUseProgram: program not linked

E/chromium: [ERROR:gles2_cmd_decoder.cc(5718)] [.Compositor-Onscreen-0xb8bb47f8]GL ERROR :GL_INVALID_OPERATION : glUniformMatrix4fv: wrong uniform function for type

【问题讨论】:

  • 各位大佬,没有人知道这个问题的解决方案吗?我看到许多与此问题相关的主题,但没有一个得到正确回答。
  • 为我工作。三星盖乐世 S4,4.4.4。也许它只是模拟器。你在设备上测试过吗?
  • @MikeM。坦率地说,我无法在实际设备上对其进行测试。我只尝试过 Genymotion 和 Android Studio 的库存虚拟设备。事实上,我想到了它,但在我在几个不同的模拟器上测试它之后,我认为它也不能在真实设备上运行。谢谢您的回答!可能是模拟器问题。我会尽快找到一个真正的设备并进行测试。但最后一个问题。在 S4 上进行测试时,您是否尝试过与我上面接近的代码示例?我也怀疑我的编码在某些时候可能有问题。
  • 是的,差不多。我有一个用于测试 WebView 内容的存根项目,我只是将所有设置和客户端覆盖更改为您所拥有的。我无法让它不起作用,我尝试了几种方法让它失败。我认为它至少会出现 SSL 错误,但即使我删除了 onReceivedSslError() 覆盖,它仍然有效。
  • @MikeM。好的,再次感谢。我会找到一个在 kitkat 上运行的设备并立即对其进行测试!

标签: android webview youtube android-4.4-kitkat chromium


【解决方案1】:

在 webview 活动中设置软件加速, mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

【讨论】:

  • 不要在 mainfest 中删除该行,并在调用它后将 abovw 代码设置为 webview 设置。 ps mWebView 改成你的webview名字
  • 首先感谢您的回答。其次,我实际上之前尝试过这个。如果我在 webview 活动视频中添加此代码,则永远不会加载。
  • 错误日志消失,但视频无法播放,无法加载。
  • 我已经很久没有遇到这个问题了,所以请尝试不安装软件
  • 同时设置enabel javascript
猜你喜欢
  • 2014-04-08
  • 1970-01-01
  • 2012-04-22
  • 2014-01-18
  • 2011-05-29
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-26
相关资源
最近更新 更多