Video Vimeo in visualizzazione web orizzontale a schermo intero
Sto cercando di visualizzare correttamente un video Vimeo in un'attività orizzontale a schermo intero. Il video ha un margine bianco "strano" in alto e in basso.

Queste sono le impostazioni della visualizzazione web:
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setPluginState(WebSettings.PluginState.ON_DEMAND);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
Inietto con:
webView.loadDataWithBaseURL("https://vimeo.com", html, "text/html", "UTF-8", null);
E questo è l'HTML:
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="default-src * gap:; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src *; img-src * data: blob: android-webview-video-poster:; style-src * 'unsafe-inline';">
</head>
<body style="margin: 0; padding: 0">
<iframe src="https://player.vimeo.com/video/445319847" webkitallowfullscreen mozallowfullscreen allowfullscreen
width="100%" height="100%" margin="0" padding="0" marginwidth="0" marginheight="0" hspace="0" vspace="0" ,
frameborder="0" scrolling="no">
</iframe>
</body>
</html>
Ho aggiunto il meta contenuto, leggendo questo log della console:
"Rifiutato di caricare l'immagine" android-webview-video-poster: default_video_poster / 5386880230549634306 "perché viola la seguente direttiva sui criteri di sicurezza dei contenuti:" img-src 'self' data: https://i.vimeocdn.com https://secure-b.vimeocdn.com https://f.vimeocdn.com https://vimeo.com https://secure.gravatar.com https://i0.wp.com https://i1.wp.com https://i2.wp.com https://pagead2.googlesyndication.com https://player.vimeo.comhttps: // .ci.vimeows.com https://f.vimeocdn.com ".", fonte:https://player.vimeo.com/video/445319847 (0) *
E poi atterrando su questa risposta . A proposito, l'avviso non scompare e la correzione sembra non funzionare. Qualche idea? Grazie molto.
EDIT: se non è possibile avere il lettore esattamente a schermo intero, come posso riempire lo spazio bianco con, ad esempio, il nero?
Risposte
niente di strano qui. iframe
sta soddisfacendo il tuo WebView
( width="100%" height="100%"
nessun margine html, padding ecc.), che viene disegnato alle dimensioni dello schermo. Schermo intero, anche sotto la barra di stato, quindi margini bianchi non uguali (scommetto che stai usando fitsSystemWindows
attr)
iframe
sta caricando la pagina web src="https://player.vimeo.com/video/445319847"
e questa pagina contiene un player che sta cercando di soddisfare il frame (in questo caso adatta alla larghezza), ma mantiene le proporzioni e il player centrale
Correzione: crea un lettore nativo (raccomandando ExoPlayer ) e carica il collegamento diretto al file video, alcuni esempi su come estrarre il collegamento mp4 QUI