Android网络视图无法播放视频文件错误



在我的应用程序中的一个屏幕中,我将HTML字符串加载到WebView中,但由于某种原因,WebView无法在div中加载视频,视频容器显示错误:无法播放此视频文件:错误代码102003这是一个正在加载的HTML示例,其中的视频无法加载:

<html dir="rtl" lang=""><body><meta itemprop="thumbnailUrl" content="https://cdn.jwplayer.com/v2/media/8K9oJcsX/poster.jpg?width=720"/><meta itemprop="contentUrl" content="https://cdn.jwplayer.com/videos/8K9oJcsX-khorc1ya.mp4"/><div style="position:relative; overflow:hidden;"><script src="https://cdn.jwplayer.com/players/8K9oJcsX-4mQgHT7J.js"></script></div></div> <p>تابعي نصائح وأفكار دليل مطبخ سيدتي التي ستساعدك في الحصول على مائدة رمضانية فاخرة ومميزة حتى في أيام الحجر المنزلي.</p></body></html>

我启用了javascript,添加了hardwareAcclerated=true,添加了一个chrome客户端,以及其他问题上建议的所有其他内容。

val settings = webview.settings
settings.domStorageEnabled = true
settings.javaScriptEnabled = true
settings.pluginState = WebSettings.PluginState.ON
webview.webChromeClient = WebChromeClient()
webview.webViewClient = WebViewClient()
settings.setDomStorageEnabled(true);
settings.setAppCacheEnabled(true);
settings.setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
settings.setDatabaseEnabled(true);
settings.setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");
settings.allowFileAccess = true
val formattedHtml = "<html dir="rtl" lang=""><body>" + tip.description + "</body></html>"
webview.loadDataWithBaseURL("", formattedHtml, "text/html", "UTF-8", "")

刚刚在我的网络视图中尝试了你的视频url,它成功了。以下是我的设置:

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

所以我想你必须将setMediaPlaybackRequiresUserGesture设置为false。

问题是缺少基本URL,这导致JWPlayer(视频主机(抛出错误。

正确的方法是添加本地android_asset基URL

tipInformation.loadDataWithBaseURL("file:///android_asset/", s, "text/html", "UTF-8", null)

最新更新