2015-02-05 103 views
0

我在Eclipse中构建了一个小型的Android库,它打开新的Activity,放入它的WebView中,并用视频加载到WebView html页面中。我使用的WebView,如:Android Webview视频不工作

webView.setWebChromeClient(new WebChromeClient() { 
     @Override 
     public void onProgressChanged(WebView view, int newProgress) { 
      if (newProgress == 100) { 
       showContentOrLoadingIndicator(true); 
      } 
     } 

    }); 
    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 
    }); 

webView.loadUrl("http://www.example.com/mobile/player/" + VeediUtils.GAME_ID + "/" + ((JSONObject)VeediUtils.LEVELS.get(gameLevel - 1)).getInt("unique_id") + ".html" + ((debugState == 0) ? ("") : ("?debug=veedi"))); 

下一步,我已经建立了新的项目,加了我的第一个项目像Android的依赖,所有工程确定,应该如何。但是,当我将我的图书馆交给其他开发人员(我无法访问他的代码),并将其添加为Android依赖项时,他发现了一个问题:他听到声音,但他看到的是视频而不是黑屏。所以这里的问题是:在他的应用程序中可以做什么,在WebView中打破我的视频?谢谢。

回答

1

webview不能正确支持HTML5视频。

请参阅here为图书馆为正确的视频支持。

如果视频是Flash格式,它将无法在Android 4.4及更高版本上运行。否则,用户需要安装Flash Player,并且需要在webview中启用插件。

+0

不,我只使用* .mp4格式,这里的问题是:该视频显示在我的项目中,但没有在他的项目中显示在相同的设备中。感谢这个图书馆,我会检查。 – Simcha 2015-02-07 21:41:51

+0

这很奇怪,它应该工作,如果它在同一设备上。他以某种方式修改了代码吗?也许你可以尝试从你的webview中删除setWebViewClient方法,因为它似乎没有做任何事情? – JonasCz 2015-02-08 09:41:20

+0

不,他只有我的编译类。而且我需要“setWebViewClient”,因为我需要它的方法“shouldOverrideUrlLoading”,因为该设备不会从用户第一次询问:在WebView中为我的url选择浏览器。 – Simcha 2015-02-08 11:11:58