Я новичок в Android и заранее извиняюсь, если мой вопрос тривиален, но я не смог найти никакого решения для него.
Я работаю над проектом Android и у меня есть WebView
которая отображает веб-страницу из каталога ресурсов, на моей веб-странице есть элемент видео, как показано ниже
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>video player</title>
</head>
<body>
<video width="400" controls autoplay loop muted>
<source src="./assets/video/video1.webm" type="video/webm">
</video>
</body>
</html>
Ниже приведен код Java от fragment
, который отвечает за отображение веб-страницы:
mWebView.setWebContentsDebuggingEnabled(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl("file:///android_asset/www/video1.html");
Я также изменил AndroidManifest
, добавив android:hardwareAccelerated="true"
как для активности, так и для приложения.
Когда я тестирую приложение на эмуляторе Android TV с API уровня 22, видео запускается автоматически, а элементы управления видео работают нормально, но когда я тестирую его с помощью телевизионного эмулятора с API уровня 25, видео не отображается, отображаются только элементы управления, но видео никогда не запускалось ни из элементов управления, ни автоматически, отображается только белый блок.
Редактировать 1: добавить полную страницу HTML, конфигурацию манифеста и код Java для отображения страницы HTML.