如何在 Android 上的 webView 中显示视频
Posted
技术标签:
【中文标题】如何在 Android 上的 webView 中显示视频【英文标题】:How to show video in webView on Android 【发布时间】:2017-09-02 19:12:21 【问题描述】:我想在我的应用程序中显示文本、图像和视频。对于这个问题,我使用webView
,因为我应该在文本之间显示图像和视频。对于设置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>
我的应用程序显示视频帧(边框)和视频缩略图,但是当我点击视频播放时,不显示任何视频,只显示黑屏!!!
我该如何解决?
【问题讨论】:
How to play video URL inside android webview的可能重复 【参考方案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");
我遇到了同样的问题,添加 this sn-p 解决了黑屏。
希望这对您也有帮助!
【讨论】:
如果有帮助,请对此答案投票。编码快乐!以上是关于如何在 Android 上的 webView 中显示视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在nativescript vue中处理webview上的android后退按钮
如何从不在 Android 的 API 26 上的 WebView 获取 WebviewClient 实例?
如何在 Android 上的 WebView 中读取 Blob 中的数据?