嗨,我有一个网站,其中有一个视频播放器,我想播放我的android应用程序的视频播放器英西。视频播放器在androids原生浏览器中播放效果很好,但当我指示WebView访问与播放器相同的站点时,视频播放器不会显示,播放器周围的所有内容都会显示出来。如何让视频播放器在我的应用程序webview中播放?
发布于 2012-08-21 21:39:26
默认情况下,Webview不允许使用Javascript,这很可能是您的视频播放器在网站上使用的脚本。你很可能需要告诉你的Webview使用Javascript,以便它至少尝试播放视频(我说尝试,因为我自己从来没有这样做过,我通常使用播放器活动来播放视频)。
因此,通过引用您的活动webview对象,您可以执行以下操作:
browser = (WebView) findViewById(R.id.webbrowser_wvViewer);
browser.getSettings().setJavaScriptEnabled(true);发布于 2012-08-21 21:33:00
您确定您的视频编解码器与Android webview兼容吗?
根据浏览器的不同,所需的视频编解码器也不同。您还可以检查此链接以进行调试,并查看确切的错误:
http://www.smartjava.org/content/remote-chrome-debugging-android
发布于 2012-09-01 07:56:53
克里斯蒂安,你在哪个版本的安卓操作系统上测试这个?
在安卓版本的姜饼和更早的版本中,你的基于WebView的应用程序必须实现WebChromeClient回调才能播放视频。下面是WebChromeClient的文档:http://developer.android.com/reference/android/webkit/WebChromeClient.html
具体来说,看看onShowCustomView()和onHideCustomView回调函数。播放视频时,WebView将回调您提供的WebChromeClient实现的onShowCustomView()。这个回调函数中的第一个参数是一个视图--它实际上就是您想要显示的视频。预计应用程序将覆盖此回调并将此视图添加到应用程序的窗口中。总而言之,您的步骤如下: 1.在您的应用程序中创建WebView,在您的应用程序中实现WebChromeClient,并使用WebView.setWebChromeClient(this)注册它。2.现在当用户在视频上选择播放时,将调用您的应用程序的onShowCustomView。3.在应用程序的onShowCustomView()实现中,您可以替换当前由新视图显示的WebView。在onHideCustomView回调上执行相反的操作。此方法的默认实现是忽略,这就是为什么您的应用程序中看不到视频播放的原因。
https://stackoverflow.com/questions/12055943
复制相似问题