Android-网站上的视频播放器未在WebView中播放

Android-网站上的视频播放器未在WebView中播放,android,webview,android-webview,android-websettings,Android,Webview,Android Webview,Android Websettings,嗨,我有一个网站,其中有一个视频播放器,我想在我的android应用程序中播放这个视频播放器。视频播放器在androids本机浏览器中发挥得很好,但当我引导WebView与播放器一起访问同一站点时,视频播放器不会显示,播放器周围的所有内容都会显示出来。如何让视频播放器在我的应用程序webview中播放?你确定你的视频编解码器与Android webview兼容吗 根据浏览器的不同,所需的视频编解码器也不同。 您还可以检查此链接以进行调试,并查看确切的错误: 默认情况下,Webview将不允许Ja

嗨,我有一个网站,其中有一个视频播放器,我想在我的android应用程序中播放这个视频播放器。视频播放器在androids本机浏览器中发挥得很好,但当我引导WebView与播放器一起访问同一站点时,视频播放器不会显示,播放器周围的所有内容都会显示出来。如何让视频播放器在我的应用程序webview中播放?

你确定你的视频编解码器与Android webview兼容吗

根据浏览器的不同,所需的视频编解码器也不同。 您还可以检查此链接以进行调试,并查看确切的错误:


默认情况下,Webview将不允许Javascript,这很可能是您的视频播放器在网站上使用的Javascript。您很可能需要告诉您的Webview使用Javascript,以便它至少尝试播放视频(我说尝试,因为我自己从来没有这样做过,我通常使用播放器活动播放视频)

因此,通过引用activies webview对象,您可以执行以下操作:

browser = (WebView) findViewById(R.id.webbrowser_wvViewer);    
browser.getSettings().setJavaScriptEnabled(true);
基督教徒, 你在哪一版本的Android操作系统上测试这个

在Android版本Gingerbread和更早版本中,基于WebView的应用程序必须实现WebChromeClient回调才能播放视频。以下是WebChromeClient的文档:

具体来说,请查看onShowCustomView()和onHideCustomView回调。播放视频时,WebView将回调您提供的WebChromeClient实现的onShowCustomView()。此回调中的第一个参数是视图,它实际上是要显示的视频。应用程序应覆盖此回调并将此视图添加到应用程序的窗口中。总而言之,您的步骤如下: 1.在应用程序中创建WebView,在应用程序中实现WebChromeClient并使用WebView.setWebChromeClient(此选项)注册它。 2.现在,当用户选择播放视频时,将调用应用程序的onShowCustomView。 3.在应用程序的onShowCustomView()实现中,您可以替换当前由新视图显示的WebView。在onHideCustomView回调上执行相反的操作。
此方法的默认实现是忽略,这就是为什么您没有在应用程序中看到视频播放。

我有
browser.getSettings().SetJavaScriptEnabled(true)它仍然不工作。我确实有一个问题,我的webview任务在另一个被调用来设置webview的类中。这与它不工作有什么关系吗?我怀疑这会是个问题,只要webview出现在您的活动中并打开网页,那么它工作得足够好,至少可以尝试渲染嵌入的视频。我的信念是,你可能无法按照你的意愿来做这件事。事实上,我遇到了另一篇文章,这篇文章可能对您的编辑有所帮助:还要注意,您应该在调试模式下在设备上测试您的应用程序,因为模拟器不支持视频回放。请分别检查API级别是否低于8。