如何在Android上的webView中显示视频

时间:2017-04-07 11:54:21

标签: android video webview

我想在我的应用程序中显示文本,图像和视频。对于这个问题,我使用webView,因为我应该在文本之间显示图像和视频 for set webView我写了这段代码:

    WebSettings settings = post_content_web.getSettings();
    post_content_web.setWebChromeClient(new WebChromeClient());
    settings.setPluginState(WebSettings.PluginState.ON);
    settings.setJavaScriptEnabled(true);

    settings.setDefaultTextEncodingName("utf-8");

    String myCustomStyleString = "<style type=\"text/css\">@font-face {font-family: MyFont;src: " +
            "url(\"file:///android_asset/fonts/iran_sans_mobile.ttf\")}body,* {font-family: MyFont; font-size: " +
            "medium;text-align: justify;}</style>";

    post_content_web.loadDataWithBaseURL("", myCustomStyleString + "<div style=\"direction:rtl\">"
            + title + "\n\n" + content + "</div>", "text/html", "utf-8", null); 

我使用视频中的嵌入代码,例如:

<div id="14915658601813975"><script type="text/JavaScript" src="https://www.aparat.com/embed/hdvzs?data[rnddiv]=14915658601813975&data[responsive]=yes"></script></div>

我的应用程序显示视频帧(边框)和视频缩略图,但是当我点击视频播放时,不显示任何视频,只显示黑屏!!!!

我该如何解决?

1 个答案:

答案 0 :(得分:1)

要支持div标签(<div>)中提供的视频, 您必须为WebView设置添加一些额外的属性。

webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");

我遇到了同样的问题,并添加此代码段解决了 BLACK SCREEN

这也可以帮到你!