0

嗨,我有一个网站,里面有一个视频播放器,我想在我的 android 应用程序中播放那个视频播放器。视频播放器在 androids 原生浏览器中播放效果很好,但是当我指示 WebView 与播放器一起访问同一个站点时,视频播放器不会显示,播放器周围的所有内容都会显示。如何让视频播放器在我的应用程序 webview 中播放?

4

3 回答 3

1

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

因此,通过引用您的活动 webview 对象,您可以这样做:

browser = (WebView) findViewById(R.id.webbrowser_wvViewer);    
browser.getSettings().setJavaScriptEnabled(true);
于 2012-08-21T13:39:25.907 回答
0

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

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

http://www.smartjava.org/content/remote-chrome-debugging-android

于 2012-08-21T13:32:59.933 回答
0

Christian,您在哪个版本的 Android 操作系统上进行测试?

在 Android 版本的 Gingerbread 及更早版本中,基于 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 回调执行相反的操作。

于 2012-08-31T23:56:53.280 回答