我正在尝试播放一个html iframe视频,但除非我将声音静音,否则视频将拒绝播放。这是我的web视图方法。
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);
}
谢谢。。。
1条答案
按热度按时间agxfikkp1#
正如你所说,如果视频静音播放没有问题,在我看来,你试图自动播放一个视频没有遵循chrome的自动播放策略:
始终允许静音自动播放。
在以下情况下,允许自动播放声音:
用户已与域交互(单击、点击等)。
在桌面上,用户的媒体参与度指数已超过阈值,这意味着用户以前播放过有声音的视频。
用户已将站点添加到移动设备的主屏幕或在桌面上安装了pwa。
顶部帧可以将自动播放权限委托给它们的iframe,以允许自动播放声音。
最后一个原因可能是,允许从iframes自动播放(当视频不是静音时)
allow
属性必须设置为autoplay
:前一段时间我还与自动播放限制作过斗争。