我正试图在android java中使用webview播放IFRAME视频,视频加载正确,但拒绝播放,除非声音静音。请帮忙。这是我的webView代码:
private void playVideoOnWebView(String videoUrl) {
videoWebViewPlayer = findViewById(R.id.videoPlayerWebView);
videoWebViewPlayer.setVisibility(VISIBLE);
videoWebViewPlayer.getSettings().setJavaScriptEnabled(true);
videoWebViewPlayer.getSettings().getAllowContentAccess();
videoWebViewPlayer.getSettings().setDomStorageEnabled(true);
videoWebViewPlayer.getSettings().setAppCacheEnabled(true);videoWebViewPlayer.getSettings().setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
videoWebViewPlayer.getSettings().setDatabaseEnabled(true);
videoWebViewPlayer.getSettings().setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");
videoWebViewPlayer.getSettings().setPluginState(WebSettings.PluginState.ON);
videoWebViewPlayer.getSettings().setDomStorageEnabled(true);
videoWebViewPlayer.setWebChromeClient(new WebChromeClient());
videoWebViewPlayer.loadUrl(videoUrl);
}
这是网页上的iframe
<iframe id="iframe" style="width: 100%; border-width: 0px; height: 100%;" src="https://player.vimeo.com/video/259666821?loop=false&byline=false&portrait=false&title=false&speed=true&transparent=1&gesture=media" allowfullscreen="" allowtransparency="" allow="autoplay"></iframe>
在网络/移动标准上有一个约定,自动播放视频应该静音。它可以防止干扰,例如,你打开一个网站或应用程序,它开始播放一些东西,但你正在开会。
"请记住,呈现静音的音轨仍然是音频曲目,并且它们的存在会影响视频是否在全部的在这种情况下,不会播放带有静音音轨的视频。这个音轨应该被删除,或者,静音属性可以在媒体元素上设置。
参考文献:
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
https://vimeo.zendesk.com/hc/en-us/articles/115004485728-Autoplaying-e-looping-v%C3%ADdeos-公司